vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · TextBox & RichTextBox   |   VB-Versionen: VB4, VB5, VB626.11.00
Bilder in der RTF-Textbox

Wußten Sie, wie man ein Bild in eine RTF-Textbox einfügen kann?Ganz einfach! Über die Windows-Zwischenablage.Kopieren Sie hierzu das entsprechende B...

Autor:   Michael ImhofBewertung:     [ Jetzt bewerten ]Views:  39.778 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Wußten Sie, wie man ein Bild in eine RTF-Textbox einfügen kann?
Ganz einfach! Über die Windows-Zwischenablage.

Kopieren Sie hierzu das entsprechende Bild in die Zwischenablage und fügen es dann in die RTF-Textbox ein. Um den Vorgang zu automatisieren, wird der Kopieren- und Einfügen-Befehl direkt im Quellcode "programmiert".

' zunächst die benötigten Deklarationen
Private Declare Sub Sleep Lib "kernel32" ( _
  ByVal dwMilliseconds As Long)
Private Declare Function SendMessage Lib "user32" _
  Alias "SendMessageA" ( _
  ByVal hwnd As Long, _
  ByVal wMsg As Long, _
  ByVal wParam As Long, _
  lParam As Any) As Long
Private Const WM_PASTE = &H302
 
' Bild per Quellcode einfügen
Private Sub CopyPictureToRTF(RTF As Control, Bild As Picture)
  Dim Buf As Variant
  Dim Text As String
 
  If Clipboard.GetFormat(vbCFText) = True Then
    ' Wenn in der Zwischenablage Text ist, 
    ' wird er in einem String gespeichert
    Text = Clipboard.GetText 
  Else
    ' ansonsten in einer Variant Variable
    Buf = Clipboard.GetData 
  End If
 
  ' Zwischenablage löschen und Bild kopieren
  Clipboard.Clear
  Clipboard.SetData Picture1.Picture
  DoEvents
 
  ' Bild per SendMessage in RTF-Box einfügen
  SendMessage RTF.hwnd, WM_PASTE, 0, 0
  DoEvents
  Sleep 3000 ' zur Sicherheit kurz warten
 
  ' Zwischenablage wieder löschen, da das Bild
  ' sonst in der Zwischenablage bleibt
  Clipboard.Clear
 
  ' Falls vor dem Kopieren des Bildes ein Text oder 
  ' sonstiger Inhalt in der Zwischenablage war, schreiben wir 
  ' diesen wieder zurück in die Zwischenablage
  If Text <> "" Then
    Clipboard.SetText Text
  Else
    Clipboard.SetData Buf
  End If
End Sub

Ein kleines Beispiel:

Plazieren Sie ein RTF-, ein Picture- und ein Command-Steuerelement auf die Form. Weisen Sei dem Picture-Steuerelement ein beliebiges Bild zu. Durch Klicken auf den CommandButton soll dann das Bild an die aktuelle Eingabeposition im RTF-Textfeld eingefügt werden.

' Bild einfügen
Private Sub Command1_Click()
  CopyPictureToRTF RTFTextBox1, Picture1.Picture
End Sub

Bild im RTF-Textfeld

Dieser Tipp wurde bereits 39.778 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel