wxRuby 中的布局控件

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

转载于:https://www.cnblogs.com/sunglen/archive/2008/08/20/1272468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值