wxWidgets 使用总结

300 篇文章 0 订阅
128 篇文章 0 订阅

//---------------------------------------------------

设置vc的include lib

include:D:\Trunk\External\wxWidgets-2.9.0\include       D:\Trunk\External\wxWidgets-2.9.0\lib\vc_lib\mswu

lib:D:\Trunk\External\wxWidgets-2.9.0\lib\vc_lib

//---------------------------------------------------

最大化
必须在Frame create的时候给style一个 wxMAXIMIZE | wxMAXIMIZE_BOX .
表示,窗口可以最大化显示,有一个最大化按钮.
调用函数
Maximize( true ); 来最大化窗口

//-----------------------------------------------------
窗口大小
必须注意,要在 Show( 1 ) 之后才能获得窗口大小
不要使用 GetClientSize() 之类的函数.
首先使用 GetSize() 获得应用程序的大小,
使用 WindowToClientSize() 便可获得client实际大小

//-----------------------------------------------------
DC使用
wxClientDx( wxWindow *win );
随后就可以使用dc的成员函数进行绘图了.

//-----------------------------------------------------
分割窗口
#inlcude "wx/splitter.h"
首先创建具有分割功能的窗口 wxSplitterWindow ,算是一个中间容器,注意其父窗口。
使用 SplitVertically( left, right, nWidth ) 对其进行左右分割。
右边panel的宽度(如果不想双击隐藏右侧窗口),则需要设置pane大小 SetMinimumPaneSize( nSize )
这个窗口只能分割成两个,若需再次分割,要在 wxSplitterWindow 内继续创建 wxSplitterWindow

//------------------------------------------------------
菜单
分为两部分:菜单项 wxMenu 、菜单栏 wxMenuBar 。
创建菜单栏、创建菜单项,将菜单栏通过 wxFrame 的 SetMenuBar() 加载在窗口内。
Append() 至菜单栏的菜单项,点击后产生下拉菜单。通过调用自己的 Append() 添加下拉菜单的菜单项。

//------------------------------------------------------
标签页
需要一个标签容器 wxNotebook ,通过 AddPage() 向标签页内添加标签。

//------------------------------------------------------
按钮
wxButton 注意父窗口
位图按钮
wxBitmap 指针,调用 LoadFile() 加载相应的文件。若资源是png。则需要添加
wxImage::AddHandler( new wxPNGHandler );
wxBitmap 创建按钮

//------------------------------------------------------
组框
#include "wx/combobox.h"
创建 wxComboBox 对象,style 赋值为 wxCB_READONLY ,则为只能选择而不能输入。
删除某项 调用成员函数 Delete( n ); n为选项的下标值
增加新项 调用成员函数 Insert( str, n ); str 为添加的字符串,n为选项下标。

//-------------------------------------------------------
单选框
创建 wxRadioBox 对象,第3个参数为标题名。
参数6 选框数量
参数7 选框字符串数组名 wxString str[];
参数8 每行几个

//--------------------------------------------------------
复选框
创建 wxCheckBox 对象,第3个参数为选项内容。

//--------------------------------------------------------
旋转控件
#include "wx/spinctrl.h"
整数变化,创建 wxSpinCtrl 对象,
参数 7,8,9 分别为 最小值,最大值,每次的差值。
小数变化创建 wxSpinCtrlDouble
参数8 如果第3个参数为空,则以此数字为开始计数。
参数9 每次差值

//---------------------------------------------------------
滑块
创建 wxSlider 对象,
参数3 默认值
参数4 最小值
参数5 最大值
style wxSL_LABELS 显示数字 wxSL_TOP 滑块的方向

//---------------------------------------------------------
消息
消息响应函数 Function 的形参一定要注意,普通的是 wxCommandEvent 引用
如果是splitter窗口则要 wxSplitterEvent
在wxFrame子类定义中加入宏
DECLARE_EVENT_TABLE()
在类外定义 event table
BEGIN_EVENT_TABLE( xxxx, wxFrame )
 EVT_XXXXX( ID, Function )
END_EVENT_TABLE()
EVT_XXXX 可在 wx/event.h 内找到相应定义。

 

1、如何在启动窗口时让其最大化?

     在主框架创建时加入wxMAXIMIZE样式,如下:

    Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE | wxMAXIMIZE, _T("id"));

2、如何往wxNoteBook中的页面添加控件?

     在用函数AddPage增加页面时直接指定控件指针即可,如下:

     wxNotebook *myNotebook = new wxNotebook( this, -1, wxDefaultPosition, wxSize(500, 500), wxNB_BOTTOM);
     wxTextCtrl* notetext = new wxTextCtrl(myNotebook, -1);
     myNotebook->AddPage( notetext, wxT("我的输入窗口") );

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值