MFC中没有消息处理怎么办
我新建一个对话框的工程,有一个消息WM_NCHITTEST吧,说是处理鼠标点击的消息,可是在classwaizzard里面没有该消息啊,怎么办啊?我自己添加的消息处理函数...
我新建一个对话框的工程,有一个消息WM_NCHITTEST吧,说是处理鼠标点击的消息,可是在class waizzard里面没有该消息啊,怎么办啊?
我自己添加的消息处理函数UINT OnNcHitTest(CPoint point)
可是在里面加了代码也没反应啊。
还有画图的时候屏幕闪烁,利用双缓冲也是,有人说要重载WM_ERASEBKGND,也是没有消息处理函数添加。
求达人告诉我该怎么添加消息响应函数 展开
我自己添加的消息处理函数UINT OnNcHitTest(CPoint point)
可是在里面加了代码也没反应啊。
还有画图的时候屏幕闪烁,利用双缓冲也是,有人说要重载WM_ERASEBKGND,也是没有消息处理函数添加。
求达人告诉我该怎么添加消息响应函数 展开
4个回答
2009-03-25
展开全部
需要在类视图里右键点击需要添加消息响应的类选择弹出菜单中的“Add Windows Message Handler...”选项然后在弹出的窗口右下角设置“Filter for messages available to ”为“Window”才能看到WM_NCHITTEST,这时
WM_ERASEBKGND也会出现的
WM_ERASEBKGND也会出现的
展开全部
WM_LBUTTONDOWN
WM_RBUTTONDOWN
WM_lBUTTONUP
WM_RBUTTONUP
WM_LBUTTONDBLCLK
WM_RBUTTONDBLCLK
以上是常用鼠标消息,具体我想应该能看明白。
OnEraseBkgnd(
CDC* pDC
);重载这个虚函数,不是添加消息映射。因为mfc一些类已经把非常常用的一些消息做了映射,所以不用再映射,只需重载即可。
ps:在vs2008里,添加消息相应函数和重载函数是分开的,即操作是不同的。vs2005应该一样,vc6不详。
WM_RBUTTONDOWN
WM_lBUTTONUP
WM_RBUTTONUP
WM_LBUTTONDBLCLK
WM_RBUTTONDBLCLK
以上是常用鼠标消息,具体我想应该能看明白。
OnEraseBkgnd(
CDC* pDC
);重载这个虚函数,不是添加消息映射。因为mfc一些类已经把非常常用的一些消息做了映射,所以不用再映射,只需重载即可。
ps:在vs2008里,添加消息相应函数和重载函数是分开的,即操作是不同的。vs2005应该一样,vc6不详。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你先为你的某个按钮创建相应的处理类,然后单击列的右键,选在Add windows message handle,就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
添加消息处理函数
需要在消息映射声明那里 和 映射声明那写函数原型
也就是需要在
BEGIN_MESSAGE_MAP()
ON_WM_PAINT()
。。。
END_MESSAGE_MAP()
这里和类声明那里(相应的.h文件)
DECLARE_MESSAGE_MAP() 这个前面加 afx_msg UINT OnNcHitTest(CPoint point);
需要在消息映射声明那里 和 映射声明那写函数原型
也就是需要在
BEGIN_MESSAGE_MAP()
ON_WM_PAINT()
。。。
END_MESSAGE_MAP()
这里和类声明那里(相应的.h文件)
DECLARE_MESSAGE_MAP() 这个前面加 afx_msg UINT OnNcHitTest(CPoint point);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询