在Windows API应用程序中创建窗口时,通过WNDCLASSEX
和RegisterClassEx()
注册窗口类的目的是什么?
答案 0 :(得分:5)
主要目的是在消息队列中有待处理的内容时,让系统正确WndProc
进行调用。
有一些标志,但主要观点是上述。
窗口类对应于'小部件的类型'在UI上:
WndProc
是小部件行为的唯一驱动因素。
因此映射:小部件(控件类型) - > wndclass
- > WndProc
答案 1 :(得分:5)
将窗口属性分离为CreateWindow()东西和RegisterClass()的东西很早就完成了,以便能够创建统一行为的窗口。对话框控件(按钮,列表框等)是一个很好的例子 - 它们都共享一个类。这意味着 - 他们共享一个窗口过程,这意味着 - 他们共享绘画逻辑,输入反应,自定义消息,通知等。
在应用程序级别,当您拥有多个同一类窗口的最典型情况是多文档界面中的文档。有时人们会引入特定于应用的控件。所以区别就是它的目的。