1.在button上添加icon图标,是图片和文字同时显示
1>手动添加CButtonST类,BtnST.h/BtnST.cpp/BCMenu.h/BCMenu.cpp四个文件
2>在MFC使用时,先添加一个button按钮,为按钮关联变量,变量类型设为:CBttonST m_Btn;
3>在资源添加icon资源,ID设为IDI_ICON1.
3>在初始化部分加如下:
m_Btn.SetIcon(IDI_ICON1); //在button上添加icon图片
m_Btn.SetColor(CBttonST::BTNST_COLOR_FR_IN,RGB(0,100,0));//
m_Btn.OffsetColor(CBttonST::BTNST_COLOR_BK_IN,50);
相关函数说明:
参数:
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::SetColor
DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)
注释:
调用此函数可以设置按钮在各种状态下显示指定的底色。
参数:
byColorIndex : 状态索引值。具体含义可以参见OffsetColor函数中的参数(byColorIndex)说明。
crColor : 颜色值。设置按钮指定状态的底色。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDINDEX: 无效的状态索引值。