posts - 112, comments - 215, trackbacks - 0, articles - 34
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

CButtonST类使用说明文档

Posted on 2006-11-30 14:12 济公 阅读(1594) 评论(2)  编辑 收藏 引用 所属分类: VC++

CButtonST 类是我们经常用到的一个很好的按钮扩展类,他的广泛用法可以让我们应用在很多的领域,尤其是设计界面的时候.但这个类很大,作的函数功能也很多,我整理了一下,希望对大家能更快的理解和使用他起到帮助作用 .
以下是CButtonST类的所有公共成员函数(函数名按音序排列先后):

CButtonST::DrawBorder
DWORD DrawBorder(BOOL bDrawBorder = TRUE, BOOL bRepaint = TRUE)
注释:
因为CButtonST的默认显示风格是平面按钮。调用此函数用来显示按钮边框。
参数:
bDrawBorder:
值为TRUE则显示按钮边框。
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行完毕。
CButtonST::DrawFlatFocus
DWORD DrawFlatFocus(BOOL bDrawFlatFocus, BOOL bRepaint = TRUE)
注释:
此函数只对平面按钮有效,调用此函数可以在按钮中显示焦点。
参数:
bDrawFlatFocus :
值为TRUE则会在平面按钮上显示焦点。
bRepaint :
值为TRUE则马上重画按钮。
返回值:
BTNST_OK:
表示函数执行成功。
CButtonST::DrawTransparent
void DrawTransparent(BOOL bRepaint = FALSE)
注释:
调用此函数来激活透明显示模式。注意,此操作是不可逆的,而且必须在按钮实例创建之后调用。函数将会在内存中保留一份窗口背景的拷贝,因此请真的有需要时才调用此函数,以免浪费内存空间。透明模式一般是在带有背景的窗口中使用。
参数:
bRepaint :
TRUE则马上重绘按钮。
CButtonST::OffsetColor
DWORD OffsetColor(BYTE byColorIndex, short shOffset, BOOL bRepaint = TRUE)
注释:
调用此函数可以设置按钮在各种状态下显示指定的底色。函数会根据所传递的偏移量参数以及按钮原来的默认底色产生一个新的颜色值。通过这样的方法可以使得按钮在不同状态下的颜色变化更为自然。
参数:
byColorIndex :
状态索引值,它的取值必须是以下枚举值之一。
取值注释
BTNST_COLOR_BK_IN
鼠标指针位于按钮上面时的底色
BTNST_COLOR_FG_IN
鼠标指针位于按钮上面时的前景色
BTNST_COLOR_BK_OUT
鼠标指针不在按钮上面时的底色
BTNST_COLOR_FG_OUT
鼠标指针不在按钮上面时的前景色
BTNST_COLOR_BK_FOCUS
焦点位于按钮上面时的底色
BTNST_COLOR_FG_FOCUS
焦点位于按钮上面时的前景色
*
前景色一般是指文字的颜色
shOffsetColor:
指定颜色的偏移量,它的取值范围是[-255,255]
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK :
函数执行成功。
BTNST_INVALIDINDEX :
byColorIndex 指定状态索引值无效。
BTNST_BADPARAM :
根据偏移量生成的值超出RGB的颜色取值范围。
CButtonST::SetAlign
DWORD SetAlign(BYTE byAlign, BOOL bRepaint = TRUE)
注释:
调用此函数可以设定按钮上图标(或位图)于按钮上文字的相对位置。
参数:
byAlign:
位置参数,它的取值必须是以下枚举量之一。
取值注释
ST_ALIGN_HORIZ
图标/图片在左,文字在右
ST_ALIGN_VERT
图标/图片在上,文字在下
ST_ALIGN_HORIZ_RIGHT
图标/图片在右,文字在左
默认值为 ST_ALIGN_HORIZ.
bRepaint:
TRUE则马上重绘按钮。

返回值:
BTNST_OK:
函数执行成功。
BTNST_INVALIDALIGN:
位置参数无效。
CButtonST::SetAlwaysTrack
DWORD SetAlwaysTrack(BOOL bAlwaysTrack = TRUE)
注释:
此函数只对平面按钮有效。调用此函数可以设定按钮是否显示高亮颜色。
参数:
bAlwaysTrack:
值为TRUE时,无论前窗口是否为激活窗口,只要鼠标指针移动到按钮上面都会发按钮的显示状态发生变化。默认值为TRUE
值为FALSE时,如果窗口未被激活,按钮的显示不会发生变化。
返回值:
BTNST_OK :
函数执行成功。
CButtonST::SetBitmaps
DWORD SetBitmaps(int nBitmapIn, COLORREF crTransColorIn, int nBitmapOut = NULL, COLORREF crTransColorOut = 0)
DWORD SetBitmaps(HBITMAP hBitmapIn, COLORREF crTransColorIn, HBITMAP hBitmapOut = NULL, COLORREF crTransColorOut = 0)
注释:
调用此函数可以在按钮上显示指定的图片(Icon)。如果对同一个按钮重复调用了此函数的话,那么按钮只显示最后一次指定的图片。
参数:
nBitmapIn:
图片的ID值。当鼠标指针位于按钮之上时显示该图片。
crTransColorIn:
颜色值。IDnBitmapIn的图片中与该颜色相同的区域将显示透明。
nBitmapOut:
图片的ID值。当鼠标指针不在按钮之上时显示该图片。
crTransColorOut:
颜色值。IDnBitmapOut的图片中与该颜色相同的区域将显示透明。
hBitmapIn:
图片的句柄。当鼠标指针位于按钮之上时显示该图片。
crTransColorIn:
颜色值。由hBitmapIn指定的图片中与该颜色相同的区域将显示透明。
hBitmapOut:
图片的ID值。当鼠标指针不在按钮之上时显示该图片。
crTransColorOut:
颜色值。由hBitmapOut指定的图片中与该颜色相同的区域将显示透明。
返回值:
BTNST_OK:
函数执行成功。
BTNST_INVALIDRESOURCE:
指定资源读取失败。
BTNST_FAILEDMASK:
颜色提取失败。
CButtonST::SetBtnCursor
DWORD SetBtnCursor(int nCursorId = NULL, BOOL bRepaint = TRUE)
注释:
这个函数可以让鼠标在移动到按钮上面的时候显示指定的鼠标指针。
参数:
nCursorId:
鼠标指针的ID值。
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行成功。
BTNST_INVALIDRESOURCE:
读取指定资源失败。
CButtonST::SetCheck
DWORD SetCheck(int nCheck, BOOL bRepaint = TRUE)
注释:
当按钮被当作CheckBox使用的时候,用来设置按钮的状态。
参数:
nCheck : 1
表示选中; 0表示没选中
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行成功。
CButtonST::SetColor
DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)
注释:
调用此函数可以设置按钮在各种状态下显示指定的底色。
参数:
byColorIndex :
状态索引值。具体含义可以参见OffsetColor函数中的参数(byColorIndex)说明。
crColor :
颜色值。设置按钮指定状态的底色。
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行成功。
BTNST_INVALIDINDEX:
无效的状态索引值。
CButtonST::SetDefaultColors
DWORD SetDefaultColors(BOOL bRepaint = TRUE)
注释:
调用此函数之后,程序将使用默认颜色来设定按钮在各个状态下的颜色。这些颜色值可能会因为windows/" target="_blank">Windows版本的不同而不同。
参数:
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行成功。
CButtonST::SetFlat
DWORD SetFlat(BOOL bFlat = TRUE, BOOL bRepaint = TRUE)
注释:
调用此函数来设置按钮的显示风格。
参数:
bFlat:
值为TRUE则显示为平面按钮; 值为FALSE则显示为标准的Windows按钮bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行成功。
CButtonST::SetIcon
DWORD SetIcon(int nIconIn, int nIconOut = NULL)
DWORD SetIcon(HICON hIconIn, HICON hIconOut = NULL)
注释:
调用此函数可以在按钮上显示指定的图标(Icon)。如果对同一个按钮重复调用了此函数的话,那么按钮只显示最后一次指定的图标。
参数:
nIconIn :
图标的ID值,当鼠标指针移动到按钮上面的时候显示该图标。如果该参数被赋值为 NULL ,则分配给这个按钮的所有图标资源将被释放。
hIconOut:
图标的ID值,当鼠标指针不在按钮上面的时候显示该图标。调用函数的时候可以忽略该参数。
hIconIn :
图标的句柄,当鼠标指针移动到按钮上面的时候显示该图标。如果该参数被赋值为 NULL ,则分配给这个按钮的所有图标资源将被释放。
hIconOut:
图标的句柄,当鼠标指针不在按钮上面的时候显示该图标。调用函数的时候可以忽略该参数。
返回值:
BTNST_OK:
表示函数执行成功。
BTNST_INVALIDRESOURCE:
表示函数执行失败,例如无法读取指定的图标资源。
CButtonST::SetMenu
DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bWinXPStyle = TRUE, UINT nToolbarID = NULL, CSize sizeToolbarIcon = CSize(16, 16), COLORREF crToolbarBk = RGB(255, 0, 255), BOOL bRepaint = TRUE)
DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bRepaint = TRUE)
注释:
要调用此函数必须与BCMenu类一起使用。函数将为按钮指派一个菜单,当点击按钮的时候会弹出所指派的菜单。此函数的调用与宏有关,如果在代码中声明了BTNST_USE_BCMENU 宏,则应该调用SetMenu函数的第一种形式,否则应该调用SetMenu的后一种形式。
参数:
nMenu :
菜单的ID值。
hParentWnd:
菜单所属的窗口句柄。菜单选项将触发该窗口内的时间。
bWinXPStyle:
值为TRUE则会以XP风格显示菜单, 值为FALSE则会以标准风格显示菜单。
nToolbarID:
工具条的ID值。程序会将工具条中与菜单项ID值相同图片加入到菜单中。
sizeToolbarIcon:
指定工具条中每一个图标的大小,它是一个CSize 类型的实例。注意请确保工具条中所有图标的大小一致。
crToolbarBk:
颜色值。工具条图片中与该颜色相同的区域将显示为透明。
bRepaint:
值为TRUE则马上重绘按钮。
返回值:
BTNST_OK:
函数执行成功。
BTNST_INVALIDRESOURCE:
无法读取指定资源。
CButtonST::TooltipText
void SetTooltipText(int nText, BOOL bActivate = TRUE)
void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE)
注释:
调用此函数可以为按钮设定提示信息。
参数:
nText:
字符串的ID值。
lpszText:
所要显示的字符串。
nActivate:
值为TRUE表示激活提示功能, 值为FALSE表示不激活提示功能。
CButtonST::SetURL
DWORD SetURL(LPCTSTR lpszURL = NULL)
注释:
调用此函数后,单击按钮将打开参数所指定的连接。
参数:
lpszURL:
包含链接信息的字符串。
返回值:
BTNST_OK:
函数执行成功。

 
如有需要源代码的请留下你的电子邮箱。

Feedback

# 急需!  回复  更多评论   

2009-07-05 15:08 by 黎浪
我也下了个CButtonSt类,不过老是出问题!
现在急需这个类,希望大哥能给小弟发一个,
谢谢!!
我的邮箱是:goadrewlee@qq.com

# re: CButtonST类使用说明文档  回复  更多评论   

2010-01-14 16:02 by zhangh
急需这个类,能否在WINCE上使用?
我的邮箱:huizhi83@163.com
只有注册用户登录后才能发表评论。