defwindowproc(创建窗口类的时候,wndclass.lpfnWndProc = ::DefWindowProc; DefWindowProc后面为什么没有加())
本文目录
创建窗口类的时候,wndclass.lpfnWndProc = ::DefWindowProc; DefWindowProc后面为什么没有加()
您好,这个DefWindowProc的确是一个函数,不过是一个特殊的函数,叫做回调函数。这个函数是可以您自己写的,甚至它的名字您也可以改动,比如叫MyWindowProc。至于您的问题,为什么这里没有加(),这是因为这里并不是函数调用,而是窗口注册。也就是它只是告诉windows我的程序的回调函数叫这个名字而已,只是通知一下,不是调用。
WindowProc和DefWindowProc的区别
1.WindowProc是你给自己的窗口定义的窗口处理函数DefWindowProc是windows平台提供的默认窗口处理函数如果某些消息你不需要做特别的处理,调用DefWindowProc进行处理就可以了,不需要你自己再去些那些windows的“标准动作“2.根据1,显然,你只能定义WindowProc而不能定义DefWindowProc看看MFC的CWnd源码就一目了然了LRESULT CWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam){// OnWndMsg does most of the work, except for DefWindowProc callLRESULT lResult = 0;if (!OnWndMsg(message, wParam, lParam, &lResult)) // 如果消息是需要自己处理的,//处理后就不必让windows系统进行默认处理了lResult = DefWindowProc(message, wParam, lParam); // 自己没有处理的就交给windows去做return lResult;}
更多文章:

平面设计网站(有没有平面设计可以用的图片网站(最好是免费的))
2025年3月14日 14:30

手机怎么安装silverlight(安装silverlight失败原因是什么)
2025年2月20日 18:30

线程锁synchronized和lock区别(java lock和synchorinzed的区别)
2025年2月10日 02:20

electricity作文(跪求英语作文:the importance of electricity)
2025年3月7日 19:10

schematic是什么意思(verilog代码schematic中的f是什么意思)
2025年3月22日 07:10

potentiometer(potentiometer是什么意思)
2025年3月4日 06:40

dreamweaver安装(dreamweaver绿色版 怎么安装)
2025年3月18日 22:20

android的四大组件(Android四大组件是什么讲讲你对它们的理解)
2025年2月12日 11:30