gpt4 book ai didi

c++ - Win32 : why does my PRINTDLG (or PRINTDLGEX) have gray background?

转载 作者:行者123 更新时间:2023-11-30 05:41:36 26 4
gpt4 key购买 nike

我正在使用 Microsoft Visual Studio Community 2015 RC 创建 Win32 应用程序。我正在使用 C++。

当我调用 PrintDlg()PrintDlgEx() 时,生成的对话框具有灰色背景。无论如何,我检查过的所有其他程序中的相同对话框都是白色背景。

我看到有一些方法可以处理 WM_CTLCOLORDLG 来设置对话框的背景颜色,但由于所有其他应用程序都具有相同的行为,我认为它们并非都是为处理此问题而构建的以相同的方式发送消息。

我在此处包含了用于使用 PrintDlg() 打开对话框的代码:

PRINTDLG print_dialog{
sizeof(PRINTDLG),
hWnd,
NULL, NULL, NULL,
0,
0, 0, 0, 0,
1,
NULL, 0,
NULL,
};
if (PrintDlg(&print_dialog))
{
...
}

PrintDlgEx() 的代码:

PRINTDLGEX print_dialog = {};
print_dialog.lStructSize = sizeof(PRINTDLGEX);
print_dialog.hwndOwner = hWnd;
print_dialog.Flags = PD_NOPAGENUMS;
print_dialog.nStartPage = START_PAGE_GENERAL;
if (PrintDlgEx(&print_dialog))
{
...
}

我的申请有什么问题?

非常感谢。

最佳答案

您的流程可能没有主题,因为它没有显示 v6 comctl32。非主题对话框默认为按钮面彩色背景。主题对话框具有白色背景。

将 comctl32 v6 list 添加到您的可执行文件中。

关于c++ - Win32 : why does my PRINTDLG (or PRINTDLGEX) have gray background?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31100244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com