C++ 如何在wxwidgets中更改与wxPrintout关联的后台打印程序文件名/文档名

C++ 如何在wxwidgets中更改与wxPrintout关联的后台打印程序文件名/文档名,c++,visual-c++,printing,wxwidgets,print-spooler-api,C++,Visual C++,Printing,Wxwidgets,Print Spooler Api,通过使用我选择的名称重载wxPrintout构造函数,我成功地将文件名附加到打印输出 wxPrintout(const wxString& title = wxT("Printout")); 在我的代码中: VRPrintout::VRPrintout(blababala):wxPrintout(_("Heartrate")), 但在打印另存为PDF时,在“文件名”对话框中,会显示“打印心率” 如何摆脱名称前添加的“打印”甚至更改它?@Credits to Xaviou from

通过使用我选择的名称重载wxPrintout构造函数,我成功地将文件名附加到打印输出

 wxPrintout(const wxString& title = wxT("Printout"));
在我的代码中:

VRPrintout::VRPrintout(blababala):wxPrintout(_("Heartrate")),
但在打印另存为PDF时,在“文件名”对话框中,会显示“打印心率”


如何摆脱名称前添加的“打印”甚至更改它?

@Credits to Xaviou from wxDev.fr.

您可以尝试在wxPrintout派生类中重写“OnBeginDocument”方法

wx src/common/prntbase.cpp:584中的默认代码如下(“OnBeginDocument”是虚拟的):

 bool wxPrintout::OnBeginDocument(int WXUNUSED(startPage), int WXUNUSED(endPage))
{
   return GetDC()->StartDoc(_("Printing ") + m_printoutTitle);
}
我认为,如果你提供正确的文本,它应该是好的

问候 Xav'

编辑:在我的一个应用程序上测试,它可以打印东西,而且可以工作


对我也有用

我对wxwidgets一无所知,但是如果它支持调用Win32 API,很可能会有一个解决方案。那么你放弃这个问题了吗?事实上,我已经从wxwidgets论坛找到了一个解决方案,现在将在这里发布!