1、PreTranslateMessage函数里面
if(pMsg->message == WM_LBUTTONDOWN && pMsg->hwnd == GetDlgItem(IDC_STATIC_1)->GetSafeHwnd())
{
//添加响应相关的处理
}
2、在OnLButtonDown里面判断鼠标的位置是否在控件里面(这种方法没试过,不过网上也有说可以用,就拿过来一起归类整里一下)
void CDialogXX::OnLButtonDown(UINT nFlags, CPoint point)
{
Crect rcStatic;
GetDlgItem(IDC_STATIC)->GetWindowRect(&rcStatic);
ScreenToClient(&rcStatic);
//判断鼠标的位置是否在控件里面
if(point.x >rcStatic.left && point.x <rcStatic.right &&
point.y >rcStatic.top && point.y <rcStatic.bottom)
{
afxMessageBox("Click Static True!")
}
}

本文详细介绍了在MFC中如何使用PreTranslateMessage函数及OnLButtonDown方法为对话框控件设置鼠标左键点击响应。通过具体代码示例,展示了如何判断鼠标点击位置是否在指定控件范围内,并触发相应的消息提示。
729

被折叠的 条评论
为什么被折叠?



