Lance
Your prompt reply does help and confirms what I was already suspecting - that it is doing GetWindowText(Pd.hWndOwner).
Actually, I've got round the problem. I could set pd.hWndOwner to the main application window whenever I call PrintDlg but the caption of my main window can include a long path name that would appear in the message box caption. I don't want that so I set the %PD_NOWARNING flag, to suppress the message, and then use CommDlgExtendedError() to get the error status and display my own message box as appropriate.
Many thanks for the help
Keith
------------------
Announcement
Collapse
No announcement yet.
Strange PrintDlg behavior
Collapse
X
-
The .hWndOwner member should be set to the handle of the dialog/window that is launching PrintDlg().
Your message seems to imply that you are setting the .hWndOwner member to that of a <U>control</U> in the dialog/window, rather than the dialog/window itself.
If I understand the PrintDlg() error dialog caption effect properly, it is doing a GetWindowText(Pd.hWndOwner) to derive the caption text for the error dialog. However, if the returned text is NULL (an emty string), it is substituting "Printer Error" as the caption.
This would make sense, since the error dialog would inherit the caption text of the parent window/dialog, which is likely to be your application name, or some other equally important title. Hence, it gives you the "strange" caption text effect you see when you nominate the handle of a control as the parent window.
Does this help?
------------------
Lance
PowerBASIC Support
mailto:[email protected][email protected]</A>
Leave a comment:
-
Strange PrintDlg behavior
I have an application in which I call PrintDlg(pd) from several points. I note the following common behaviour when the printer is unavailable.
First time I try to print, the PrintDlg appears and then when I click OK I get an error in my print routine. Nothing strange so far. Then I try to print again. This time the dialog doesn't appear but in its place there's a message box with "The printer could not be found". Again, nothing strange.
The strange thing is the text in the caption bar of the message box, which seems to depend on the pd.hWndOwner member of the PRINTDLGAPI structure passed to the dialog. I see the following.
Code:pd.hWndOwner Message box caption Main application window same as application window A QHTM control "Printer Error" A graphics pane "Printer Error" A multi line edit control the whole contents of the edit control
Keith
------------------
[This message has been edited by Keith Waters (edited September 09, 2001).]Tags: None
Leave a comment: