-
从昨天开始由于托盘功能的缘故导致我精神状态一直不好衣服没洗饭一天没吃
反正心情就是无比的糟糕情绪无比的低落不过老大终究是老大不能说什么问题
都靠他
但是我实在是搞不定了最终还是他给我找到了问题所在的因素然后情绪
依旧高涨精神无比
振奋
OK
那么既然发现问题了就总结下
#define
ON_MESSAGE_VOID
(message,
memberFxn)
{
message,
0,
0,
0,
AfxSig_vv,
(AFX_PMSG)(AFX_PMSGW)(void
(AFX_MSG_CALL
CWnd::*)(void))&memberFxn
},
#define
ON_MESSAGE
(message,
memberFxn)
{
message,
0,
0,
0,
AfxSig_lwl,
(AFX_PMSG)(AFX_PMSGW)(LRESULT
(AFX_MSG_CALL
CWnd::*)(
WPARAM,
LPARAM
))&memberFxn
},
由于我在百度没有搜索到
ON_ME
SSAGE_VOID
这个宏的信息这个是我在论坛
上发现的从
这个宏参数指向的函数我们可以知道了
当时我的程序出现问题的原因就是我使用了
ON_MESSAGE_VOID
这个宏并且
响应函数定义成了
void
而且我们可以看到
void
函数的参数是为空的
所以我一直无法获得
wParam<
/p>
和
lParam
这两个参数的值所以导致
程序一直出
错
我
们
也
可
以
看
到
ON_MESSAGE
相
对
应
的
响
应
函
数
< br>就
有
两
个
参
数
WPARAM,LPARAM
所
以就可以获得鼠标的信息
LRES
ULT
的意思就是返回
32
位的返回值
L = long
result
自然就是结果的意思
了
哈哈老大就是老大啊
~~
看来
MFC
确实很复杂啊老大在调试的时候好多函
数我
都没见过大部分都是框架调用的函数所以啊我还嫩着呢路还长
#define
ON_MES
SAGE_VOID
(message,memberFxn)
{message,0,0,0,AfxSig_vv,(AFX_PMSG)(AFX_PMSGW)(vo
id
(AFX_MSG_CALL
CWnd::*)(void))&memberFxn}
#define
ON_MESSAGE
(message,memberFxn)
{message,0,0,0,Afx
Sig_lwl,(AFX_PMSG)(AFX_PMSGW)(LRESULT
(AFX_MSG_CALL CWnd::*)(
WPARA
M,LPARAM
))&memberFxn }
可以看出
ON_MESSAGE_VOID
对应
的函数应该是
void
类型的,并且是没有
参数的。
而
ON_MESSAG
E
对应的函数应该就是
LRESULT
类型的,并且由两个参数
-
-
-
-
-
-
-
-
-
上一篇:读懂IL代码就这么简单
下一篇:C语言中const是什么意思