CButton控件的问题,请大侠给我帮帮忙吧!
在对话框中添加CButton控件,那么CButton没有WM_LBUTTONUP和WM_RBUTTONUP消息,我该怎么办。(如果有,我该怎么添加这两个消息呢?) 问题点数:5、回复次数:3Top
1 楼antsoft(这只蚂蚁很强壮)回复于 2003-11-01 10:13:17 得分 0
Ctrl+W打开ClassWizard,添加这两个消息就可以了Top
2 楼SeainBlue(爱海)回复于 2003-11-01 10:16:45 得分 2
对话框的PreTranslateMessage中处理
参数MSG* pMsg中包含了消息和消息来自的控件
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG, *PMSG;
Top
3 楼SeainBlue(爱海)回复于 2003-11-01 12:45:14 得分 3
假设你的按钮ID是IDC_MYBUTTON
如下增加PreTranslateMessage成员函数
BOOL C**Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
CButton *cb ;
cb = (CButton*)GetDlgItem(IDC_MYBUTTON) ;
//这里可以确定获取消息的是按钮,消息是WM_RBUTTONDOWN
if(pMsg->hwnd == cb->m_hWnd && pMsg->message ==WM_RBUTTONDOWN)
AfxMessageBox("hello , RightButton down on IDC_MYBUTTON ") ;
return CDialog::PreTranslateMessage(pMsg);
}
然后你试试在按钮上右键单击,会有对话框出现
Top




