当打印机从我的应用程序更改时,我想更改 CPrintDialog 的属性。
我在自定义 CPrintDialog 的 OnInitDialog() 中设置了打印机名称。
CComboBox *wndCmbBox = (CComboBox *)GetDlgItem( IDC_PER_USER );
if( wndCmbBox != NULL )
{
wndCmbBox->SelectString( -1, s_PrinterName);
}
问题是,打印机名称可以在组合框中设置,但它的属性没有设置。我的意思是说打印机状态、类型等……默认情况下,默认打印机的属性集。所以,它的冲突。
但是,如果我从 CPrintDialog 的组合框中更改了打印机,那么它的属性会根据打印机选择自动更改。
我力图从任何地方找到任何解决方案。请参考我附上的图片。
编辑 正如科迪建议的那样,我可以从我的应用程序中根据选定的打印机更改打印机,即使我应用打印命令,然后从选定的打印机打印,这一切都很好,但这不是问题,问题是,在第一次打开“打印”对话框时,其属性与所选打印机不匹配,如果选择的打印机不是我的应用程序中的默认打印机。