CreateWindow和CreateDialog创建出来的HWND的本质区别是什么?解决方法
CreateWindow和CreateDialog创建出来的HWND的本质区别是什么?
创建Dialog的时候可以指定一个资源ID,根据那个ID来创建一个对话框。当然对话框程序也可以有菜单什么的.
那么问题来了,创建一个普通的CreateWindow和CreateDialog之间的本质区别是什么? CreateDialog是对CreateWindow的包装吗,还是这两个API创建的东西会有一些不同?
------解决方案--------------------
CreateDialog函数用CreateWindowEx函数来创建对话框。然后CreateDialog函数把一个WM_INITDIALOG消息(如果模板指定DS_SETFONT类型,则加上一个WM_SETFONT消息)传送到对话框应用程序。如果模板指定WS_VISIBLE风格,则函数显示对话框,最后CreateDlalog返回指向对话框的窗口句柄。CreateDialog函数返回之后,应用程序通过Showwindow函数显示对话框(如果还没有显示)。应用程序通过利用DestroyWindow函数来清除对话框
创建Dialog的时候可以指定一个资源ID,根据那个ID来创建一个对话框。当然对话框程序也可以有菜单什么的.
那么问题来了,创建一个普通的CreateWindow和CreateDialog之间的本质区别是什么? CreateDialog是对CreateWindow的包装吗,还是这两个API创建的东西会有一些不同?
------解决方案--------------------
CreateDialog函数用CreateWindowEx函数来创建对话框。然后CreateDialog函数把一个WM_INITDIALOG消息(如果模板指定DS_SETFONT类型,则加上一个WM_SETFONT消息)传送到对话框应用程序。如果模板指定WS_VISIBLE风格,则函数显示对话框,最后CreateDlalog返回指向对话框的窗口句柄。CreateDialog函数返回之后,应用程序通过Showwindow函数显示对话框(如果还没有显示)。应用程序通过利用DestroyWindow函数来清除对话框