我想实现这样的功能:
捕获按键消息,当键盘按下时设置一个butoon为红色,弹起时设置button为绿色。使用MFC自带的好像没办法搞,之前发帖有朋友指点用CButtonST,可我试验了一下没效果。
我知道是我用法不对,所以恳请用过的朋友们指点一下了~~,贴点实例代码最好了~~另外如果有朋友知道用MFC的button类可以实现的话也麻烦指点一下,小弟先谢过了
捕获按键消息,当键盘按下时设置一个butoon为红色,弹起时设置button为绿色。使用MFC自带的好像没办法搞,之前发帖有朋友指点用CButtonST,可我试验了一下没效果。
我知道是我用法不对,所以恳请用过的朋友们指点一下了~~,贴点实例代码最好了~~另外如果有朋友知道用MFC的button类可以实现的话也麻烦指点一下,小弟先谢过了
解决方案 »
- MFC 输出回车
- MainFrame里面无法响应OnmouseMove
- VC通过ADO访问数据库,m_pRecordset->close()和m_pRecordset->release()有何不同
- 遇到麻烦的问题,关于defwindowproc的报错
- 新手的小问题
- ^_^,谁碰到这样的问题,高手进来一下
- 怎样查询错误代码的具体含义?
- 请问各位大虾如何修改此警告(warning C4700)?急等!!!
- 怎样把CSocket对象作为参数传递?
- 如何获取当前活动子窗口打开文档的文件名称?
- 窗口分隔条的问题
- 急!!!gSoap的WebService客户端调用java的WebService服务端方法实现下载xml文件,但返回的却是经过编码的东西.如何还原成xml文件呢?
或者你可以使用CWnd::OnKeyDown 和 CWnd::OnKeyUp 试一试.
具体用法查看一下msdn
DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)
注释:
调用此函数可以设置按钮在各种状态下显示指定的底色。
参数:
byColorIndex : 状态索引值。具体含义可以参见OffsetColor函数中的参数(byColorIndex)说明。
crColor : 颜色值。设置按钮指定状态的底色。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDINDEX: 无效的状态索引值。
// TODO: Add extra initialization here
m_btnST.SetActiveBgColor(RGB(0,0,255));//设置鼠标放上去的颜色 m_btnST.SetInactiveBgColor(RGB(255,0,255));//设置鼠标未放上去的颜色
m_btnST为CButtonST对象
void SetButtonColor(CButtonST* btn)
{
btn->SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(40, 35, 252)); // 鼠标没进入时背景色
btn->SetColor(CButtonST::BTNST_COLOR_BK_IN, RGB(140, 169, 250)); // 鼠标进入背景色
btn->SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, RGB(140, 169, 250)); // 获得焦点背景色
btn->SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(255, 255, 255)); // 相应的前景色...
btn->SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(255, 255, 255));
btn->SetColor(CButtonST::BTNST_COLOR_FG_FOCUS, RGB(255, 255, 255));
}