Heute zeigen wir Ihnen, wie sich ein grafischer Text unter Berücksichtigung einer Farbmaske in einer PictureBox ausgeben lässt. Starten Sie ein neues Projekt und platzieren auf die Form:
Im ersten PictureBox-Control soll der Text aus der TextBox ganz normal in schwarzer Schrift angezeigt werden. Die zweite PictureBox enthält ein Farbverlauf oder ein beliebiges Bild. Im dritten PictureBox-Control soll letztendlich die Kombination aus der 1. PictureBox und der 2. PictureBox angezeigt werden. Für unser Beispiel verwenden wir als Farbmaske einen Farbverlauf: Option Explicit ' benötigte API-Deklarationen Private Declare Function BitBlt Lib "gdi32" ( _ ByVal hDestDC As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hSrcDC As Long, _ ByVal xSrc As Long, _ ByVal ySrc As Long, _ ByVal dwRop As Long) As Long Private Declare Function SetBkColor Lib "gdi32" ( _ ByVal hdc As Long, _ ByVal crColor As Long) As Long Private Const SRCINVERT = &H660046 Private Const SRCAND = &H8800C6 Private Sub Form_Load() ' AutoRedraw muss auf TRUE festgelegt sein! Picture1.AutoRedraw = True Picture2.AutoRedraw = True Picture3.AutoRedraw = True ' Schriftgröße festlegen Picture1.Font.Name = "Times New Roman" Picture1.Font.Size = 36 Picture1.Font.Bold = True Set Picture3.Font = Picture1.Font ' Farbverlauf erstellen MakeGradient Picture2, vbBlue, vbWhite, 1 ' Text anzeigen Text1_Change End Sub ' Text mit Farbmaske ausgeben Private Sub Text1_Change() Dim DestCX As Long Dim DestCY As Long Dim TmpBackColor As Long ' Quelltext aus TextBox in der 1. PictureBox ' anzeigen (das Bildfeld muß ' schwarz/weiß sein) With Picture1 .Cls .BackColor = vbWhite .ForeColor = vbBlack Picture1.Print Text1.Text End With With Picture3 ' Größe/Dimension des Ausgabebildes DestCX = .Width / Screen.TwipsPerPixelX DestCY = .Height / Screen.TwipsPerPixelY ' Ausgabebereich löschen .Cls ' Hintgrundfarbe der Quelle übernehmen ' (immer weiß) TmpBackColor = .BackColor SetBkColor .hdc, Picture1.BackColor ' Quelle mit der Farbmaske in einem ' Bildfeld überzeichnen BitBlt .hdc, 0, 0, DestCX, DestCY, Picture2.hdc, _ 0, 0, SRCINVERT BitBlt .hdc, 0, 0, DestCX, DestCY, Picture1.hdc, _ 0, 0, SRCAND BitBlt .hdc, 0, 0, DestCX, DestCY, Picture2.hdc, _ 0, 0, SRCINVERT ' Hintergundfarbe wiederherstellen SetBkColor .hdc, TmpBackColor ' Bild anzeigen .Refresh End With End Sub Anmerkung: Die MakeGradient-Prozedur stammt aus folgendem Tipp: Dieser Tipp wurde bereits 12.383 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |