为什么WinProc函数要写两次?

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:54:54
LRESULT CALLBACK WinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
为什么要在WinMain函数前先写一遍,在WinMain函数后再详细写里面的语句?直接在WinMain前面或后面写不可以么?

还有,WinProc函数语句最后的return 0是干什么的?WinProc函数还需要返回值吗?返回给谁?为什么要返回0这个值?
那么写两遍的话,为什么要前边先写LRESULT CALLBACK WinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) ?

还有,顺便解答我第二个问题的话会有加分啊!

前面是声明,后面是实现。

一般的cpp文件中都是类函数的实现和全局变量的定义,h文件中都是类,函数的声明和变量的导出声明。

你看一般的cpp文件前面都有 #include "xxx.h",就是这个意思,把声明包含近来,就跟你说的winproc写2遍是一个道理。
声明中当然要详细声明函数的参数类型个数以及返回值了,否则使用的时候不好定位和识别。

如果函数的定义在函数被调用的地方之前,那么只写一遍即可。

一个是声明,告诉其有这个函数
后一个定义,即这个函数实现的具体内容

就像我与你并不认识,通过你我都认识的朋友先介绍一下,我就认识你了,不然,我就不认识你

也可以只写一遍,但必须在WinMain函数前面.

要求返回一个LRESULT类型的返回值。
其实就是一个long形