通常使用对话框作为主窗口吗?
是的,这很常见。
所以没有通过RegisterClassEx注册任何用户类?
对话框通常是预定义的窗口类,因此通常不需要注册。
我还想知道对话框和窗口之间的主要区别,以及为什么使用第一个而不是第二个。
好吧,两个很大的区别是您不能调整对话框的大小,并且它没有最小化或最大化按钮(默认情况下,但有解决方法)。记住名称,对话框。换句话说,它们用于与用户进行对话(接收输入并向用户显示消息)。从某种意义上说,它们就像任何其他窗口一样,在 CreateWindowxx 等下面被调用等等。但是,它们在某种程度上是预定义的窗口,可以快速创建,并且您可以使用它们执行的操作存在限制。
此外,对话框使用对话框过程而不是窗口过程,它会为您进行一些默认处理,例如初始化一些控件等。