如何使用资源文件(* .rc)设置基于对话框的应用程序的样式?
我可以使用CreateWindow
或CreateWindowEx
来创建应用程序的主窗口。 CreateWindow
或CreateWindowEx
的一些参数定义了对话框的样式。但我想使用资源文件(* .rc)来设置它的样式,而不是通过函数的传递样式参数的方式。
有人可以给我一些片段吗?
有人说我可以调用DialogBox
,并给第二个参数设置样式模板。这会在CreateWindow
和* .rc文件之间产生混淆吗?或者我可以同时使用它们吗?
答案 0 :(得分:2)
使用CreateDialog。它处理包装对CreateWindowEx的调用,以及在需要时发布WM_INITDLG和WM_SETFONT消息。从MSDN上的文档链接example。
您可以在DialogEx的文档中获取有关资源文件内容的信息。
答案 1 :(得分:2)
启动一个新的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()的调用,以将窗口移动到屏幕上的更好位置。