选项框


wxCheckBox(wxWindow *parent,
wxWindowID id,
const wxString& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxCheckBoxNameStr)
例:
new wxCheckBox(Wind1, wxMYID_CHBOX, wxT("我是字符"),wxPoint(10,110));
通过样式可以设置成3种状态的选项框
常用成员函数:
Enable(bool enable = true) 设置是否能点击改变状态
SetValue(bool value)主动设置状态
bool IsChecked()返回状态
void SetLabel(wxString)设置文本字符
常用事件
Func格式void OnCheckBox(wxCommandEvent& event)
EVT_CHECKBOX(wxMYID_CHBOX, OnCheckBox)//当状态改变时触发
滚动条


wxScrollBar(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxSB_HORIZONTAL,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxScrollBarNameStr)
这个是单独创建一个滚动条组件(详见API文档,这里主要介绍wxScrolledWindow)


如果需要创建带滚动条的窗口 可以直接使用容器wxScrolledWindow
wxScrolledWindow(wxWindow *parent,
wxWindowID winid = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxScrolledWindowStyle,
const wxString& name = wxPanelNameStr)
例:
wxScrolledWindow *Wind = new wxScrolledWindow(this, wxMYID_SCROLLED,
wxPoint(0,0), wxSize(500,400) );
Wind->SetScrollbars(1,1, //每次移动像素
1000,1000); //总共能有多少个单位
该函数主要设置窗口视口的大小和滑块每移动一次 里面容器移动的步长
wxScrolledWindow::SetScrollbars(int pixelsPerUnitX, //每次移动像素
int pixelsPerUnitY,//每次移动像素
int noUnitsX, int noUnitsY,//总共能有多少个单位
int xPos = 0, int yPos = 0,
bool noRefresh = false );
树结构


wxTreeCtrl ( wxWindow * parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTR_DEFAULT_STYLE,
const wxValidator & validator = wxDefaultValidator,
const wxString & name = wxTreeCtrlNameStr
)
wxTreeCtrl *MyTree=new wxTreeCtrl(Wind1, wxMYID_TREE, wxPoint(10, 260), wxSize(100,200));
wxTreeItemId rootID1 = MyTree->AddRoot(wxT("我是第一个ROOT"));
wxTreeItemId citem1 = MyTree->AppendItem(rootID1,wxT("child11"));
wxTreeItemId citem2 = MyTree->AppendItem(citem1,wxT("child12"));
wxTreeItemId citem3 = MyTree->AppendItem(citem1,wxT("child13"));
创建一个wxTreeCtrl对象, 然后使用成员函数wxTreeCtrl::AddRoot创建一个根目录,返回一个wxTreeItemID对象,这个当作根节点,一个树形结构只能有一个根节点,否则会报错,然后使用成员函数
wxTreeCtrl::AppendItem创建子节点.
遍历某个树状控件的所有子项可以使用GetRootItem函数获得根节点,然后使用GetFirstChild和GetNextChild遍历所有子节点
SetItemText(const wxTreeItemId & item, const wxString & text );设置某个节点的文字
DeleteChildren ( const wxTreeItemId & item ) ;删除所有该节点的直接子节点
常用事件响应
Func格式: void funcName(wxTreeEvent& event)
EVT_TREE_ITEM_ACTIVATED(wxMYID_TREE, funcName)//双击节点的时候触发