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.363 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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
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. |