Artikel-ID: 176400 - Geändert am: Donnerstag, 15. Juli 2004 - Version: 3.2

Gewusst wie: Drucken des WebBrowser-Steuerelements

Alles erweitern | Alles schließen

Zusammenfassung

Microsoft Internet Explorer 3.0 enthält ein benutzerdefiniertes ActiveX-Steuerelement WebBrowser aufgerufen. Das Webbrowser-Steuerelement enthält keine Print-Methode, die direkt aus Visual Basic aufgerufen werden kann. TTO Drucken des Inhalts des WebBrowser-Steuerelements in Visual Basic, müssen Sie den Fokus auf Inhalt Teil des Steuerelements festlegen und eine STRG-P Tastenanschlag Sequenz muss auf das Steuerelement gesendet werden.

Die Schwierigkeit dabei besteht, dass das WebBrowser-Fenster tatsächlich mehr als ein Fenster besteht. Das Fenster, die den Fokus zum Drucken wird mit einem Klassennamen von "HTML_Internet Explorer", und die SetFocus-Methode setzt den Fokus auf das Fenster "SHELL DocObject-Ansicht". Vor dem Senden einer STRG-P Tastenanschlag Folge an das Webbrowser-Steuerelement, muss das richtige untergeordnete Fenster des Steuerelements den Fokus besitzen.

Weitere Informationen

Um das Steuerelement zu drucken, einfach gehen Sie unten, um den Fokus auf das richtige Fenster festgelegt und die SendKeys-Funktion initiieren:
  1. Starten Sie ein neues standard EXE-Projekt in Visual Basic. Form1 wird standardmäßig erstellt.
  2. Fügen Sie die "Microsoft-Internetsteuerelemente" (shdocvw.dll) zum Projekt hinzu.
  3. Platzieren Sie das WebBrowser-Steuerelement auf das Standardformular (Form1).
  4. Fügen Sie folgenden Code zum Laden der Standardseite:
          Private Sub Form_Load()
              WebBrowser1.Navigate "http://www.microsoft.com"
          End Sub
    					
  5. Versehen Sie eine Befehlsschaltfläche auf dem Formular und ändern Sie dessen Beschriftung auf "Drucken". Fügen Sie für das Click-Ereignis der Schaltfläche den folgenden Code hinzu:
          Private Sub Command1_Click()
              Dim hwnd As Long
              WebBrowser1.SetFocus
              hwnd = GetFocus
              SetFocusToBrowser (hwnd)
              SendKeys "^p"   'CTRL+P to print
          End Sub
    					
  6. Das Projekt ein Modul hinzu, und fügen Sie den folgenden Code hinzu:
          Option Explicit
    
          Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
              ByVal wCmd As Long) As Long
    
          Declare Function GetWindowLong Lib "user32" _
              Alias "GetWindowLongA" (ByVal hwnd As Long, _
              ByVal nIndex As Long) As Long
    
          Declare Function SetFocusAPI Lib "user32" _
              Alias "SetFocus" (ByVal hwnd As Long) As Long
    
          Declare Function GetFocus Lib "user32" () As Long
    
          Declare Function SendMessage Lib "user32" _
              Alias "SendMessageA" (ByVal hwnd As Long, _
              ByVal wMsg As Long, ByVal wParam As Long, _
              lParam As Long) As Long
    
          'GetWindow constants
          Public Const GW_CHILD = 5
          'GetWindowLong constants
          Public Const GWL_STYLE = (-16)
          Public Const WS_VSCROLL = &H200000
    
          Sub SetFocusToBrowser(hBrowserHwnd As Long)
              Dim lStyle As Long
              Dim lResult As Long
              Dim hwnd As Long
              hwnd = hBrowserHwnd
              While (lResult = 0) And (hwnd <> 0)
                  hwnd = GetWindow(hwnd, GW_CHILD)
                  lStyle = GetWindowLong(hwnd, GWL_STYLE)
                  lResult = lStyle And WS_VSCROLL
              Wend
              SetFocusAPI (hwnd)
          End Sub
    					
  7. Führen Sie das Projekt, und klicken Sie auf Drucken.

Informationsquellen

Weitere Informationen finden Sie in die folgenden Artikeln der Microsoft Knowledge Base:
162719  (http://support.microsoft.com/kb/162719/EN-US/ ) Verwenden des Webbrowser-Steuerelement von Visual Basic 5.0

155969  (http://support.microsoft.com/kb/155969/EN-US/ ) Verteilen des WebBrowser-Steuerelements

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
Keywords: 
kbmt kb32bitonly kbhowto KB176400 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 176400  (http://support.microsoft.com/kb/176400/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
 

SPRACHE AUSWÄHLEN