Help and Support

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

Wie Drucken des WebBrowser-Steuerelements

Alles erweitern | Alles schließen

Zusammenfassung

Microsoft Internet Explorer 3.0 enthält ein benutzerdefiniertes ActiveX-Steuerelement, das als WebBrowser bezeichnet wird. Das WebBrowser Steuerelement enthält eine Print-Methode nicht, die direkt in Visual Basic aufgerufen werden kann. Tto druckt die Inhalte von dem WebBrowser-Steuerelement in Visual Basic, Sie müssen den Fokus zu dem Inhaltsteil des Steuerelements setzen und eine CTRL-P-Keystroke-Sequenz muss an das Steuerelement gesandt werden.

Die Schwierigkeit damit ist, dass sich das WebBrowser-Fenster tatsächlich mehr als nur aus Fenster zusammensetzt. Das Fenster, das den Fokus haben muss gedruckt, ist dieser von "HTML Internet Explorer" mit einem Klassenname und die SetFocus-Methode setzt den Fokus auf dem Fenster "SHELL DocObject View". Dem Senden einer CTRL-P-Keystroke-Sequenz bevor an das WebBrowser Steuerelement muss den Fokus das richtige unterordnete Fenster des Steuerelements enthalten.

Weitere Informationen

Gehen Sie folgendermaßen einfach folgend Sie vorgehen vor, um Fokus auf das richtige Fenster festzulegen, und die SendKeys-Funktion zu starten, um das Steuerelement zu drucken:
  1. Starten Sie ein neues Standard-Exe-Projekt in Visual Basic. Form1 wird standardmäßig erstellt.
  2. Fügen Sie das "Microsoft-Internetsteuerelement" (shdocvw.dll) dem Projekt hinzu.
  3. Platzieren Sie das WebBrowser ein Steuerelement in dem Standardformular (Form1).
  4. Fügen Sie den folgenden Code hinzu, um die Standardseite zu laden:
          Private Sub Form_Load()
              WebBrowser1.Navigate "http://www.microsoft.com"
          End Sub
    					
  5. Wenden Sie ein Befehlsschaltfläche auf dem Formular an, und ändern Sie in "dem Drucken" seine Beschriftung Fügen Sie dem 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. Fügen Sie dem Projekt ein Modul hinzu, und fügen Sie dann zu es 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 aus, und klicken Sie auf Drucken.

Informationsquellen

In den folgenden Artikeln der Microsoft Knowledge Base finden Sie Weitere Informationen:
162719  (http://support.microsoft.com/kb/162719/EN-US/ ) Wie Verwenden des WebBrowser-Steuerelements von Visual Basic 5.0

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

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic 5.0 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: 
kbhowto kb32bitonly KB176400 KbMtde kbmt
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