[VC] CHtmlView: Modaler Druckdialog

04/06/2010 - 21:39 von Peter Mairhofer | Report spam
Hi,

Ich verwende das Web Browser Control (genauer CHtmlView) und möchte die
aktuelle Seite ausdrucken. Das mache ich mit:

ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, NULL, NULL);

Das Problem ist aber dass der folgende Drucker-Dialog *nicht* modal ist.
Das heisst der User kann im Hintergrund (trotz Dialog im Vordergrund) in
der Anwendung weiterarbeiten. Das darf NICHT möglich sein! Die Anwendung
sollte nicht bedienbar sein bis entweder "Abbrechen" oder "Drucken"
gewàhlt wurde.

Hat jemand einen Tipp wie ich das machen kann?

Vielen Dank und LG,
Peter
 

Lesen sie die antworten

#1 Martin Richter [MVP]
07/06/2010 - 09:16 | Warnen spam
Hallo Peter!

Ich verwende das Web Browser Control (genauer CHtmlView) und möchte die
aktuelle Seite ausdrucken. Das mache ich mit:

ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, NULL, NULL);

Das Problem ist aber dass der folgende Drucker-Dialog *nicht* modal ist.
Das heisst der User kann im Hintergrund (trotz Dialog im Vordergrund) in
der Anwendung weiterarbeiten. Das darf NICHT möglich sein! Die Anwendung
sollte nicht bedienbar sein bis entweder "Abbrechen" oder "Drucken"
gewàhlt wurde.

Hat jemand einen Tipp wie ich das machen kann?



Das Ding bekommt ja auch kein Fenster-Handle. Woher soll es wissen wie
es sich modal verhalten soll?

Mach es doch selbst. IMHO kommt die Funktion ja nicht zurück solange
nicht gedruckt wird.

Also einfach EnableWindow mit FALSE vorher aufgerufen für das Main
Window und das Problem mit dem nicht modalen Verhalten sollte weg sein.
Hinterher wieder enablen.

Martin Richter [MVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
FAQ: http://www.mpdvc.de Samples: http://www.codeproject.com

Ähnliche fragen