AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Druckvorschau des TWebBrowsers maximieren

Ein Thema von Kinimod8 · begonnen am 31. Mai 2006 · letzter Beitrag vom 1. Jun 2006
Antwort Antwort
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#1

Druckvorschau des TWebBrowsers maximieren

  Alt 31. Mai 2006, 20:53
Hallo,

mit folgendem Code öffne ich eine Druckvorschau des WebBrowsers:

WB1.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER); Leider wird das erscheinende Fenster (zumindest auf meinem Rechner) in einer Größe von ca. 75x75 Pixeln angezeigt. Ein 'Maximieren'-Button fehlt, man muss das Fenster an dem Fensterrand 'großziehen'.

Das ist sehr umständlich. Gibt es eine Möglichkeit, die Druckvorschau gleich maximiert zu öffnen? Tritt das Problem bei Euch auch auf? Im IE wird das Fenster bei mir richtig (also groß) angezeigt.

Danke schon mal für die Hilfe,
Dominik
Dominik Peters
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Druckvorschau des TWebBrowsers maximieren

  Alt 1. Jun 2006, 06:10
Hallo

Mir ist kein Parameter bekannt, welcher das Fenster maximiert erscheinen laesst.
Muesstest das Fenster von Hand maximieren.
D.h nach dem Fensterhandle des Druckvorschau Fensters suchen und dieses maximieren.

Habe mal einen kleinen Code dafuer geschrieben:

Delphi-Quellcode:
procedure WB_PrintPreview(Webbrowser: TWebbrowser; nCmdShow: Integer);
const
 IE_PPREVIEWCLASS = 'Internet Explorer_TridentDlgFrame'; // Druckvorschau Fenster Klassenname
var
 HWND_PP, HWND_FG: HWND;
 ClassName: array[0..255] of Char;
 t1, t2: DWORD;
begin
 Webbrowser.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER); // Druckvorschau aufrufen
 HWND_PP := 0;
 t1 := GetTickCount;
 repeat
  HWND_FG := GetForegroundWindow(); // Vordergrundfenster ermitteln
  GetClassName(HWND_FG, ClassName, SizeOf(ClassName));
  if lstrcmp(@ClassName[0], @IE_PPREVIEWCLASS[1]) = 0 then // überprüfen, ob Druckvorschau Fenster
    HWND_PP := HWND_FG;
  Application.ProcessMessages;
  t2 := GetTickCount;
 until (HWND_PP <> 0) or (t2 - t1 > 6000); // Falls gefunden oder Timeout erreicht
 if HWND_PP <> 0 then
   ShowWindow(HWND_PP, nCmdShow); // Druckvorschau Fenster maximieren
end;
Aufzurufen so:

 WB_PrintPreview(Webbrowser1, SW_MAXIMIZE);
Thomas
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#3

Re: Druckvorschau des TWebBrowsers maximieren

  Alt 1. Jun 2006, 14:18
Funktioniert wunderbar!

Dankeschön!
Dominik Peters
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz