24小时热门版块排行榜    

CyRhmU.jpeg
查看: 265  |  回复: 3
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zhanglei22

银虫 (小有名气)

[交流] 【求助】求助vc的窗口程序?

在学习vc++6.0 窗口程序时遇到一段代码,有点不明白!!
LESULT CALLBACK  winSunproc
(
HWND  hwnd,
UINT   uMsg,
WPARAM wPara,
LPARAM  lParam
)

  上面怎么会有() 和,  学c++时没 看到有这些啊? 都是{} 和;啊?

  请问怎么回事?谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

★ ★ ★
nono2009(金币+2,VIP+0):谢谢热心帮助。欢迎常来交流。 10-29 14:05
zhanglei22(金币+1,VIP+0):谢谢!!!! 哈哈 10-29 17:09
LRESULT和CALLBACK在WINDEF.H定义:
typedef LONG LRESULT;
#define CALLBACK    __stdcall

VC中类似的定义有很多,主要目的是更明确的表示参数用途,比如:
typedef LONG LPARAM;
typedef LONG LRESULT;
虽然都是LONG,但看到LPARAM就知道一定是Windows消息的第二个参数,看到LRESULT就知道一定是消息处理函数的返回值。
如果没有这些定义,全部都用LONG的话,显然代码看起来就没有这么清楚了。

所以搂住自己写代码的时候,也应该按照这样的规则写,比如消息的第二个参数类型一定写成LPARAM,不要写成LONG或LRESULT等。

LRESULT CALLBACK winSunproc(...)中
LRESULT说明函数返回的是关于消息处理结果的信息
CALLBACK说明函数是回调函数。
winSunproc是函数名。

[ Last edited by magic7004 on 2009-10-29 at 11:49 ]
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
4楼2009-10-29 11:44:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

magic7004

金虫 (职业作家)


余泽成(金币+1,VIP+0):谢谢应助,欢迎常来程序软件版! 10-29 09:24
LESULT CALLBACK  winSunproc(HWND  hwnd,UINT   uMsg,WPARAM wPara,LPARAM  lParam)

写成这样搂住看明白了吗?
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
2楼2009-10-29 09:16:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhanglei22

银虫 (小有名气)

原来是个函数调用!

nono2009(金币+0,VIP+0):请注意语言。已帮你修改。谢谢。 10-29 14:04
LESULT CALLBACK  winSunproc  分别是什么呢?

[ Last edited by nono2009 on 2009-10-29 at 14:04 ]
3楼2009-10-29 11:23:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见