如何使用资源文件(* .rc)来设置基于对话框的应用程序的样式

如何使用资源文件(* .rc)来设置基于对话框的应用程序的样式?

我可以使用CreateWindowCreateWindowEx来创build应用程序的主窗口。 CreateWindowCreateWindowEx一些参数定义了对话框的样式。 但我想使用资源文件(* .rc)而不是通过传递样式参数的方式来设置它的function。

有人能给我一些片段吗?

有人说我可以调用DialogBox ,并给第二个参数的样式模板。 这是否创buildCreateWindow和* .rc文件之间的一个confict? 或者我可以同时使用他们两个吗?

使用CreateDialog 。 它处理包装到CreateWindowEx调用以及发布WM_INITDLG和WM_SETFONT消息,如果需要的话。 有一个从MSDN上的文档链接的例子 。

您可以在DialogEx的文档中获取有关资源文件内容的信息。

启动一个新的Win32项目,让它自动生成代码。 将WinMain函数更改为如下所示:

 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); DialogBox(hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, About); return 0; } 

您可能需要在WM_INITDIALOG消息处理程序中添加对MoveWindow()的调用,以将窗口移动到屏幕上更好的位置。