为什么收不到消息???

flygone 2003-04-25 10:28:36
我的对话框里有个从CStatic继承的自定义控件, 其中定义了WM_MOUSEMOVE的事件相应, 可是在运行时, 该控件收不到这个消息, 请问是何故? 急也!!! 哪位看官能略加指点, 定感激不尽!!!
...全文
50 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
loopyifly 2003-04-25
  • 打赏
  • 举报
回复
nod
ukyoking 2003-04-25
  • 打赏
  • 举报
回复
ModifyStyle(0,SS_NOTIFY);
AlwaysS 2003-04-25
  • 打赏
  • 举报
回复
以上三种方法都可以。
feiniaoliang 2003-04-25
  • 打赏
  • 举报
回复
同意free_card的说法,加上该风格方可响应鼠标消息!!
AlwaysS 2003-04-25
  • 打赏
  • 举报
回复
当然收不到了,因为WM_MOUSEMOVE消息发给了控件所在的窗口,而不是控件!你可以在窗口的WM_MOUSEMOVE消息处理函数中调用SendMeesage()函数,再把这个消息发送给控件!!!
overwind_slash 2003-04-25
  • 打赏
  • 举报
回复
在继承的自定义控件类中加入以下函数即可
BOOL CPuzzleArea::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_MOUSEMOVE)
{
CPoint point(pMsg->pt.x, pMsg->pt.y);
ScreenToClient(&point);


// Add your code here


ClientToScreen(&point);
}

return CStatic::PreTranslateMessage(pMsg);
}
free_card 2003-04-25
  • 打赏
  • 举报
回复
自定义控件初始化时加入以下:
ModifyStyle(0,SS_NOTIFY);
o_racle 2003-04-25
  • 打赏
  • 举报
回复
应该要把Dlg的窗口句柄和CStatic继承的自定义控件的窗口句柄得到并传出

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧