wxSplitterWindow.splitVertically不接受Elixir / Erlang中的窗口

时间:2014-12-07 19:23:20

标签: elixir wxerlang

我试图在Elixir中使用WxErlang来分割窗口。

我基本上和splitterWindow示例做的完全相同:wx.demo,但是:wxSplitterWindow.splitVertically函数返回false(不工作),我不知道wny。

以下是代码:

defmodule SplitWindow do

import Bitwise

import :wx_const  # A custom Erlang module that imports wx constants

def start do
    wx = :wx.new
    window = :wxFrame.new(wx, wxID_ANY, 'SplitWindow')
    :wxFrame.center(window)

    panel = :wxPanel.new(window)

    sizer = :wxBoxSizer.new(wxVERTICAL)

    splitter = :wxSplitterWindow.new(panel)

    text_edit = :wxTextCtrl.new(panel, wxID_ANY, value: 'Text Box',
        style: wxDEFAULT ||| wxTE_MULTILINE)

    text_edit2 = :wxTextCtrl.new(panel, wxID_ANY, value: 'Text Box2',
        style: wxDEFAULT ||| wxTE_MULTILINE)

    ##### This line below is where it fails #####
    IO.puts :wxSplitterWindow.splitVertically(splitter, text_edit, text_edit2)

    :wxSplitterWindow.setSashGravity(splitter, 0.5)
    :wxSplitterWindow.setMinimumPaneSize(splitter, 50)

    :wxSizer.add(sizer, splitter, flag: wxEXPAND, proportion: 1)

    :wxPanel.setSizer(panel, sizer)

    :wxFrame.show(window)
end
end  

IO.puts将输出:false

我没有收到任何其他错误。

以下是正在运行的程序的屏幕截图:http://screencast.com/t/g0sG89ECi

任何人对我在这里做错了什么有任何想法?

感谢。

1 个答案:

答案 0 :(得分:2)

对wxWidgets一无所知,但在本地尝试了你的例子(OS X),这对我来说也很突破。

查看代码,在预感中,我尝试将两个编辑控件的父级设置为拆分器,而不是面板,并为我修复它:

text_edit = :wxTextCtrl.new(splitter, -1, value: 'Text Box', style: 70 ||| 32)

text_edit2 = :wxTextCtrl.new(splitter, -1, value: 'Text Box2', style: 70 ||| 32)