基础窗口类
窗口类wxWindow
wxWindow窗口类既是一个重要的基类,也是一个你可以直接在代码中使用的类。
构造函数原型如下:
wxWindow(wxWindow* parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxString& name = wxT("panel"));
窗口类型
如果在创建窗口的时候你没有指定窗口的边框类型,那么在不同的平台上将会有不同的边框类型的缺省值。在windows平台上,控件边框的缺省值为 wxSUNKEN_BORDER,意为使用当前系统风格的边框。你可以使用类似wxNO_BORDER这样的值来覆盖系统的默认值。
wxSIMPLE_BORDER
在窗口周围显示一个瘦边框.
wxDOUBLE_BORDER
显示一个双层边框.
wxSUNKEN_BORDER
显示一个凹陷的边框,或者使用当前窗口风格设置.
wxRAISED_BORDER
显示一个凸起的边框.
wxSTATIC_BORDER
显示一个适合静态控件的边框. 只支持Windows平台.
wxNO_BORDER
不显示任何边框.
wxTRANSPARENT_WINDOW
定义一个透明窗口 (意思是这个窗口不接收paint事件).只支持windows平台.
wxTAB_TRAVERSAL
使用这个类型允许非Dialog窗口支持使用TAB进行遍历.
wxWANTS_CHARS
使用这个类型来允许窗口接收包括回车和TAB在内的所有的键盘事件。TAB用来在Dialog类型的窗口中遍历各控件。如果没有设置这个类型,这些特殊的按键事件将不会被产生。
wxFULL_REPAINT_ON_RESIZE
在默认情况下,在窗口客户区大小发生改变时,wxWidgets并不会重画整个客户区。设置这个类型将使得wxWidgets改变这种默认的作法,而保持整个客户区的刷新
wxVSCROLL
显示垂直滚动条.
wxHSCROLL
显示水平滚动条.
wxALWAYS_SHOW_SB
如果一个窗口有滚动条,那么在不需要滚动条的时候(当窗口足够大不需要使用滚动条的时候),禁止滚条而不隐藏滚动条。这个类型目前只支持Windows平台和wxWidgets的wxUniversal版本.
wxCLIP_CHILDREN
只支持Windows平台,用于消除由于擦除子窗口的背景而引起的闪铄.
窗口的扩展类型,这些扩展类型不能直接和类型混用,而要使用wxWindow::SetExtraStyle函数来进行设置。
wxWS_EX_VALIDATE_RECURSIVELY
在默认情况下,Validate,transferDataToWindow,和transferDataFromWindow只在窗口的直接子窗口上才可以使用。如果设置了这个扩展类型,那么将可以递归的在各个子窗口上使用。
wxWS_EX_BLOCK_EVENTS
wxCommandEvents事件将会在无法在当前事件表中找到匹配的时候在其父窗口中尝试匹配,设置这个扩展属性可以阻止这个行为。Dialog类型的窗口默认设置了这个类型,但是如果SetExtraStyle被应用程序类调用过的话,默认设置可能被覆盖.
wxWS_EX_TRANSIENT
不要使用这个窗口作为其它窗口的父窗口.这个类型一定只能用于瞬间窗口;否则,如果使用它作为一个dialog或者frame类型窗口的父窗口,如果父窗口在子窗口之前释放,可能导致系统崩溃。
wxWS_EX_PROCESS_IDLE
这个窗口应该处理所有的idle事件,包括那些设置了wxIDLE_PROCESS_SPECIFIED模式的idle事件。
wxWS_EX_PROCESS_UI_UPDATES
这个窗口将处理所有的Ui刷新事件,包括那些设置了wxUPDATE_UI_PROCESS_SPECIFIED的UI刷新事件。参考第9章获得和界面刷新有关的更多的内容.
窗口类wxWindow
wxWindow窗口类既是一个重要的基类,也是一个你可以直接在代码中使用的类。
构造函数原型如下:
wxWindow(wxWindow* parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxString& name = wxT("panel"));
窗口类型
如果在创建窗口的时候你没有指定窗口的边框类型,那么在不同的平台上将会有不同的边框类型的缺省值。在windows平台上,控件边框的缺省值为 wxSUNKEN_BORDER,意为使用当前系统风格的边框。你可以使用类似wxNO_BORDER这样的值来覆盖系统的默认值。
wxSIMPLE_BORDER
在窗口周围显示一个瘦边框.
wxDOUBLE_BORDER
显示一个双层边框.
wxSUNKEN_BORDER
显示一个凹陷的边框,或者使用当前窗口风格设置.
wxRAISED_BORDER
显示一个凸起的边框.
wxSTATIC_BORDER
显示一个适合静态控件的边框. 只支持Windows平台.
wxNO_BORDER
不显示任何边框.
wxTRANSPARENT_WINDOW
定义一个透明窗口 (意思是这个窗口不接收paint事件).只支持windows平台.
wxTAB_TRAVERSAL
使用这个类型允许非Dialog窗口支持使用TAB进行遍历.
wxWANTS_CHARS
使用这个类型来允许窗口接收包括回车和TAB在内的所有的键盘事件。TAB用来在Dialog类型的窗口中遍历各控件。如果没有设置这个类型,这些特殊的按键事件将不会被产生。
wxFULL_REPAINT_ON_RESIZE
在默认情况下,在窗口客户区大小发生改变时,wxWidgets并不会重画整个客户区。设置这个类型将使得wxWidgets改变这种默认的作法,而保持整个客户区的刷新
wxVSCROLL
显示垂直滚动条.
wxHSCROLL
显示水平滚动条.
wxALWAYS_SHOW_SB
如果一个窗口有滚动条,那么在不需要滚动条的时候(当窗口足够大不需要使用滚动条的时候),禁止滚条而不隐藏滚动条。这个类型目前只支持Windows平台和wxWidgets的wxUniversal版本.
wxCLIP_CHILDREN
只支持Windows平台,用于消除由于擦除子窗口的背景而引起的闪铄.
窗口的扩展类型,这些扩展类型不能直接和类型混用,而要使用wxWindow::SetExtraStyle函数来进行设置。
wxWS_EX_VALIDATE_RECURSIVELY
在默认情况下,Validate,transferDataToWindow,和transferDataFromWindow只在窗口的直接子窗口上才可以使用。如果设置了这个扩展类型,那么将可以递归的在各个子窗口上使用。
wxWS_EX_BLOCK_EVENTS
wxCommandEvents事件将会在无法在当前事件表中找到匹配的时候在其父窗口中尝试匹配,设置这个扩展属性可以阻止这个行为。Dialog类型的窗口默认设置了这个类型,但是如果SetExtraStyle被应用程序类调用过的话,默认设置可能被覆盖.
wxWS_EX_TRANSIENT
不要使用这个窗口作为其它窗口的父窗口.这个类型一定只能用于瞬间窗口;否则,如果使用它作为一个dialog或者frame类型窗口的父窗口,如果父窗口在子窗口之前释放,可能导致系统崩溃。
wxWS_EX_PROCESS_IDLE
这个窗口应该处理所有的idle事件,包括那些设置了wxIDLE_PROCESS_SPECIFIED模式的idle事件。
wxWS_EX_PROCESS_UI_UPDATES
这个窗口将处理所有的Ui刷新事件,包括那些设置了wxUPDATE_UI_PROCESS_SPECIFIED的UI刷新事件。参考第9章获得和界面刷新有关的更多的内容.