为什么窗体不响应WM_LBUTTONDOWN消息?

满衣兄 2011-05-21 02:52:03
1、我新建一个MFC的对话框工程,然后在类视图里选中类CXXXDlg, 右击属性->消息->WM_LBUTTONDOWN,
点击出现OnLButtonDown, 但是在窗体上点击鼠标却没有相应OnLButtonDown函数
2、如果添加的是WM_NCLBUTTONDOWN消息则可以响应。
...全文
629 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
a1140012035 2011-12-05
  • 打赏
  • 举报
回复
不知道为什么我用了skinmagic后动态创建按钮,wm_lbuttondow也没有响应,向楼主求救
满衣兄 2011-06-01
  • 打赏
  • 举报
回复
因为我重写了ON_WM_NCHITTEST返回了HTCAPTION所以导致不响应OnLButtonDown
yiruirui0507 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lenying 的回复:]
检查一下CXXXDlg头文件的消息响应函数声明
//{{AFX_MSG(CXXXDlg)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//声明
//}}AFX_MSG
再检查下源文件中的消息映射
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
//{{AFX_MSG_MAP(CXXXDlg)
ON……
[/Quote]
如果这个没问题,那基本可以归结为RPWT了
Eleven 2011-05-21
  • 打赏
  • 举报
回复
The WM_LBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.

A window receives this message through its WindowProc function.
lenying 2011-05-21
  • 打赏
  • 举报
回复
我的可以响应啊
信阳毛尖 2011-05-21
  • 打赏
  • 举报
回复
有些时候就是很奇怪,我曾经也出现类似的情况,添加ON_WM_TIMER消息,前天晚上怎么调试就是不执行OnTimer,但是睡一觉再调试就好了............
信阳毛尖 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lenying 的回复:]
检查一下CXXXDlg头文件的消息响应函数声明
//{{AFX_MSG(CXXXDlg)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//声明
//}}AFX_MSG
再检查下源文件中的消息映射
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
//{{AFX_MSG_MAP(CXXXDlg)
ON……
[/Quote]
理论上没有问题的呀
vcf_reader 2011-05-21
  • 打赏
  • 举报
回复
我从未出现过这样的问题
  • 打赏
  • 举报
回复
友情up
满衣兄 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lslsyqyq 的回复:]

我新建一个MFC的对话框工程,然后在类视图里选中类CXXXDlg

----------对话框工程有类视图?哪个版本的vc
[/Quote]
vc6以及以后的每个版本都有。。。
只要你添加消息映射就行了,不一定非要按照我说的方法添加
lslsyqyq 2011-05-21
  • 打赏
  • 举报
回复
我新建一个MFC的对话框工程,然后在类视图里选中类CXXXDlg

----------对话框工程有类视图?哪个版本的vc
满衣兄 2011-05-21
  • 打赏
  • 举报
回复
回楼上,正确的,你可以自己试一下看看,的确是不响应的,不知道为啥。。
lenying 2011-05-21
  • 打赏
  • 举报
回复
检查一下CXXXDlg头文件的消息响应函数声明
//{{AFX_MSG(CXXXDlg)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//声明
//}}AFX_MSG
再检查下源文件中的消息映射
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
//{{AFX_MSG_MAP(CXXXDlg)
ON_WM_LBUTTONDOWN() //消息映射
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果都正确的话应该可以响应的

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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