### 函数功能

CreateDialog宏从一个对话框模板资源创建一个无模式的对话框，CreateDiaog宏使用CreateDialogParam函数。

### 函数原型

HWND CreateDialog（HINSTANCE hlnstance，LPCTSTR lpTemplate，HWND hWndParent，DLGPROC IpDialogFunc）；

### 参数

hlnstance：标识模块事例，该模块的可执行文件含有对话框模板。
pTemplate: 标识对话框模板，此参数或是指向一个以结尾的字符串指针，该字符串指定对话框模板名，或是指定对话框模板的资源标识符的一个整型值。如果此参数指定了一个资源标识符，则它的高位字一定为零，且低位字一定含有标识符，一定用MAKEINTRESOURCE宏来创建此值。
hWndParent: 标识拥有对话框的窗口。
lpDialogFunc: 指向对话框应用程序的指针。有关更多的对话框应用程序的指针，参见DialogProc。

### 返回值

如果函数调用成功，则返回值为指向对话框的句柄；如果函数调用失败，则返回值为NULL。若想获得更多的错误信息，可调用GetLastError函数。
备注： CreateDialog函数用CreateWindowEx函数来创建对话框。然后CreateDialog函数把一个WM_INITDIALOG消息（如果模板指定DS_SETFONT类型，则加上一个WM_SETFONT消息）传送到对话框应用程序。如果模板指定WS_VISIBLE风格，则函数显示对话框，最后CreateDlalog返回指向对话框的窗口句柄。CreateDialog函数返回之后，应用程序通过Showwindow函数显示对话框（如果还没有显示）。应用程序通过利用DestroyWindow函数来清除对话框。Windows 95和以后版本：系统每个对话框模板可以支持最多达 255个控制。如果要把多于255个控制放入对话框中，必须在WM_INITDIALOG消息处理器中创建控制，而不是把它们放入模板中。Windows CE：IpTempIate参数指向的对话框模板中，DIGTEMPLATE结构并不支持所有类型。
速查:Windows NT：3.1及以上版本:Windows：95及以上版本：Windows CE：1.0及以上版本：头文件：Winuser.h；库文件：user32.lib; Unicode: Unicode：在 Windows NT上实现为 Unicode和ANSI两种版本。