当点击窗口中的某一个控件时,我发现,点击消息被控件“拦截”了,怎样使点击消息不被控件拦截,而回到窗口中? 希望能触发父窗口的左键按下消息函数,右键按下消息函数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在父窗口的PreTranslateMessage里处理 子分类subclass控件,重定义控件的鼠标消息,交由父窗口处理。我不明白://希望能触发父窗口的左键按下消息函数,右键按下消息函数这话是什么意思? iswjh(哪天我才会Turbo C):我不明白://希望能触发父窗口的左键按下消息函数,右键按下消息函数这话是什么意思?============================================================就是鼠标在控件上的点击消息,交由父窗口(OnLButtonDown,OnLButtonUp等)来处理 消息实际上是先传到父窗口,在父窗口的PreTranslateMessage里处理就行了CMyDialog::PreTranslateMessage(MSG* pMsg){ if(pMsg->hwnd == this->GetDlgItem(IDC_YOURCONTROL)->GetSafeHwnd() &&(pMsg->message == WM_RBUTTONDOWN||pMsg->message == WM_LBUTTONDOWN)) { //在这样里处理 AfxMessageBox("123"); } return CDialog::PreTranslateMessage(pMsg); } BOOL CYourDlg::PreTranslateMessage(MSG* pMsg) {// TODO: Add your specialized code here and/or call the base classif(pMsg->message == WM_RBUTTONDOWN||pMsg->message == WM_LBUTTONDOWN){//此处将WM_RBUTTONDOWN和WM_LBUTTONDOWN消息重新发送给父窗口return SendMessage( pMsg->message , pMsg->wParam, pMsg->lParam ); }return CDialog::PreTranslateMessage(pMsg);}也可以直接在PreTranslateMessage里处理,但不够好,建议用上面的方法 mfc 把excel数据放到listbox里面,求高手指点。。 有关书写用户许可协议的问题 高分求解封包问题 小弟恳请大虾指点小弟恳请大虾指点小弟恳请大虾指点小弟恳请大虾指点!!!!!迷途中啊。。。。 MFC里有没有关于密码的库函数 简单问题 ?<<MFC Windows 程序设计 --Jeff Prosise>>之dpi,setWindowExt,setViewportExt 用VC如何实现简繁转换?请指点。 如何根据登陆win2000server的用户名,获取登陆的机器名 请教一个关于ComboBox的问题 CreateProcess()的问题,用过的来看看 smtp问题:
我不明白://希望能触发父窗口的左键按下消息函数,右键按下消息函数这话是什么意思?
============================================================
就是鼠标在控件上的点击消息,交由父窗口(OnLButtonDown,OnLButtonUp等)来处理
CMyDialog::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->hwnd == this->GetDlgItem(IDC_YOURCONTROL)->GetSafeHwnd()
&&(pMsg->message == WM_RBUTTONDOWN||pMsg->message == WM_LBUTTONDOWN))
{
//在这样里处理
AfxMessageBox("123");
}
return CDialog::PreTranslateMessage(pMsg);
}
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_RBUTTONDOWN||pMsg->message == WM_LBUTTONDOWN)
{
//此处将WM_RBUTTONDOWN和WM_LBUTTONDOWN消息重新发送给父窗口
return SendMessage( pMsg->message , pMsg->wParam, pMsg->lParam );
}
return CDialog::PreTranslateMessage(pMsg);
}
也可以直接在PreTranslateMessage里处理,但不够好,建议用上面的方法