快讯

扩展MFC类库建立自己的界面类库(1)

2004-02-14 09:34  出处:PConline  作者:雷神  责任编辑:zwg 

(3)virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); 【参 数】 lpDrawItemStruct //一个指向DRAWITEMSTRUCT结构的长整型指针,该结构中包含有关被绘制项的信息和 要求的绘制类型。 【注 释】当自画风格的按钮控件的可见部分发生变化时,此成员函数被调用来重绘控件。 (4)HBITMAP GetBitmap() const; 【返回值】获得由成员函数SetBitmap设置的位图的句柄。 (5)UINT GetButtonStyle() const; 【返回值】返回某个按钮控件风格的代码,它只返回按钮控件风格的代码而不会返回按钮控件的窗口风格代码。含义参见成员函数SetButtonStyle。 (6)int GetCheck() const; 【返回值】返回某个检取框风格、单选按钮风格或3态检取框风格按钮控件的检取状态。含义参见成员函数SetCheck。 (7)HCURSOR GetCursor(); 【返回值】获得由成员函数SetCursor设置的光标的句柄。 (8)HICON GetIcon() const; 【返回值】获得由成员函数SetIcon设置的图标的句柄。 (9)UINT GetState() const; 【返回值】返回某个按钮控件的当前状态。它包括检取状态、加亮状态和焦点状态三部分。0x0008表示按钮控件拥有焦点,0x0004表示按钮控件被加亮,检取状态值的含义见函数SetCheck。 (10)HBITMAP SetBitmap(HBITMAP hBitmap); 【返回值】返回先前设置在按钮控件上的位图的句柄。 【参 数】 hBitmap //指定将显示在按钮控件上的位图的句柄。 【注 释】在使用该成员函数之前必须在初始化时设置BS_BITMAP标志,否则无效。可能是由于按钮类中没有复制被设置位图的句柄,所以设置位图的句柄的作用域应至少等于按钮控件变量的作用域以保证在按钮重画时显示正确。 (11)void SetButtonStyle(UINT nStyle, BOOL bRedraw = TRUE); 【参 数】nStyle //指定按钮控件风格的代码。见成员函数Create。 bRedraw = TRUE //当该参数非零时重画按钮控件,否则不重画。缺省设置为重画。 【注 释】改变某个按钮控件的风格。 该成员函数只能设置按钮控件的风格代码,而不能设置窗口的风格代码,窗口风格代码只能创建时设置。 该成员函数对于风格代码BS_LEFTTEXT、BS_TEXT、BS_BITMAP、BS_ICON、BS_TOP、BS_BOTTOM、BS_LEFT、BS_RIGHT、BS_RIGHTBUTTON、BS_PUSHLIKE、BS_MULTILINE、BS_FLAT和BS_NOTIFY设置无效,上述风格代码均须在初始化时设置。 (12)void SetCheck(int nCheck); 【参 数】nCheck //指定检取的状态,可以为以下值。 定义的常量值及含义 BST_UNCHECKED 0 没有被选中 BST_CHECHED 1 被选中了 BST_INDETERMINATE 2 模糊状态 【注 释】设置某个检取框风格、单选按钮风格或3态检取框风格按钮控件的检取状态。 (13)HCURSOR SetCursor(HCURSOR hCursor); 【返回值】返回先前设置在按钮控件上的光标的句柄。 【参 数】hCursor //指定将显示在按钮控件上的光标的句柄。 【注 释】在使用该成员函数之前必须在初始化时设置BS_ICON标志,否则无效。可能是由于按钮类中没有复制被设置光标的句柄,所以设置光标的句柄的作用域应至少等于按钮控件变量的作用域以保证在按钮重画时显示正确。 (14)HICON SetIcon(HICON hIcon); 【返回值】返回先前设置在按钮控件上的图标的句柄。 【参 数】hIcon //指定将显示在按钮控件上的图标的句柄。 【注 释】在使用该成员函数之前必须在初始化时设置BS_ICON标志,否则无效。可能是由于按钮类中没有复制被设置图标的句柄,所以设置图标的句柄的作用域应至少等于按钮控件变量的作用域以保证在按钮重画时显示正确。 (15)void SetState(BOOL bHighlight); 【参 数】bHighlight //对于标准风格的按钮控件,参数为TURE时按钮控件被按下,为FALSE时控件被弹起。 对于检取框风格、单选按钮风格或3态检取框风格的按钮控件,参数为TURE时控件的选择框被加亮,为FALSE时控件的选择框恢复。 【注 释】将某个按钮控件设置为加亮状态。 以上我们对MFC的Cbutton类有了一个详细的了解,由于MFC支持自绘制(owner-draw)概念,自绘制的控制类,通过调用DrawItem() 函数实现控件的绘制,由于控件绘制,消息检测和消息比较代码是在控件中实现而不足在拥有控件的窗口中实现,因而叫自绘制。因而通过重载虚函数virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);函数来控制控件的外观和行为,实现控制所需要的参数,都包含在LPDRAWITEMSTRUCT结构中。 lpDrawItemStruct:是指向DRAWITEMSTRUCT结构的指针,它为需要自己绘制的对象(控件或菜单项)提供了必要的信息,并决定了绘制的方式和细节,需要自己绘制的控件或菜单项的父窗口,将指向该结构的指针作为WM_DRAWITEM消息的lParam参数。
键盘也能翻页,试试“← →”键
IT热词搜索 来源:360新闻
软件论坛帖子排行
相关文章

相关软件:

腾讯QQ2012
大小:52.93 MB 授权:免费
腾讯QQ2012
立即下载
腾讯QQ2013
大小:49.32 MB 授权:免费
腾讯QQ2013
立即下载