1. <th id="36un9"></th>

          <th id="36un9"></th>
          <tbody id="36un9"></tbody>

          <tbody id="36un9"></tbody>
          <th id="36un9"></th>
          <button id="36un9"></button>

            wxRuby 中的布局控件

            2015-11-30 06:30:03 閱讀( 73 )

            2428人 收藏本頁

            標簽:Ruby面試題

            wxRuby是wxWidgets的Ruby綁定,所以對于布局類的使用和wxWidgets中一樣,主要功能是在 sizer.add 函數中設置有關標志做到的。

            下面是BoxSizer的一個例子

            require "wx" #載入wx庫文件
            include Wx #包含進Wx模塊

            class MinimalApp < App
            def on_init
            mainFrame = MyFrame.new
            mainFrame.show()
            end
            end

            MinimalApp.new.main_loop #建立MinimalApp實例并進入消息循環

            自定義窗口類MyFrame,用于做為主窗口

            class MyFrame < Frame
            def initialize
            super(nil, -1, "Changing Icons!", Wx::DEFAULT_POSITION, Wx::Size.new(425,450))
            @mainPanel=Panel.new(self,1003,Wx::DEFAULT_POSITION,Wx::Size.new(425,450)) #建立一個主panel,用于放置所有控件
            @notebook_style = Wx::AUI_NB_DEFAULT_STYLE|Wx::AUI_NB_TAB_EXTERNAL_MOVE|Wx::NO_BORDER
            @notebook = Wx::AuiNotebook.new(@mainPanel,1005,DEFAULT_POSITION,Wx::Size.new(400,450),@notebook_style)

            #@notebook.set_left_dockable(true)

            @notebookPage1 = Panel.new(@notebook,1006)
            @notebookPage2 = Panel.new(@notebook,1006)
            @notebook.add_page(@notebookPage1,"第一")
            @notebook.add_page(@notebookPage2,"第二")

            @sizer= BoxSizer.new(VERTICAL)

            #sizer.add()函數第二個參數是縮放因子,0表示固定大小,其它值表示對空白空間占用大小的劃分比例,如果有兩個控件其參數
            #值分別為 1 2 則表示 第1個 占空白大小的 1/3 第二個為 2/3
            #第三個參數為布局控件標記, 這個有很重要的作用,比如 控件隨布局控件一起改變大小, 控件上下左右的邊距等等
            #詳細的標記種類及說明可以查看 <<使用wxWidgets進行跨平臺程序開發>> 的第240頁

            @sizer.add(@notebook,1,Wx::GROW|Wx::ALL,10)

            @mainPanel.set_sizer(@sizer)

            end

            end

            下一篇:wxRuby編寫的簡單計算器

            上一篇:wxRuby嘗鮮

            親~ 如果您有更好的答案 可在評論區發表您獨到的見解。

            您想查看更多的信息: 面試題