Heute möchten wir Ihnen eine ComboBox vorstellen, in der alle verfügbaren Schriften zur Auswahl angezeigt werden. Die jeweiligen Einträge sollen hierbei selbstverständlich in der jeweiligen Schriftart angezeigt werden! Das Füllen der ComboBox mit den verfügbaren Schriften erledigen wir im Form_Load Ereignis. Hier wird dem Control dann auch mitgeteilt, dass die Darstellung der Listen-Elemente nicht autom. erfolgen soll, sondern von uns selbst gezeichnet werden, was durch Setzen der DrawMode-Eigenschaft auf "OwnerDrawFixed" festgelegt wird. Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' alle verfügbaren Schriften auflisten With ComboBox1.Items For Each oFont As FontFamily In Font.FontFamily.Families .Add(oFont) Next End With ' Wir möchten uns um die Ausgabe der ' Listen-Einträge selbst kümmern ComboBox1.DrawMode = DrawMode.OwnerDrawFixed End Sub Wann immer jetzt ein Eintrag der ComboBox-Liste gezeichnet werden muss, löst das Control das DrawItem-Ereignis aus, d.h. hier muss unser Code zum Zeichnen des Eintrags eingefügt werden: Private Sub ComboBox1_DrawItem(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ComboBox1.DrawItem ' ComboBox-Eintrag (Schriftname) Dim sItem As String = ComboBox1.Items(e.Index).Name Dim oFont As Font ' Neues Schrift-Objekt erzeugen und verfügbare Styles berücksichtigen Dim oFamily As FontFamily = ComboBox1.Items(e.Index) If oFamily.IsStyleAvailable(FontStyle.Regular) Then oFont = New Font(sItem, ComboBox1.Font.Size, FontStyle.Regular) ElseIf oFamily.IsStyleAvailable(FontStyle.Italic) Then oFont = New Font(sItem, ComboBox1.Font.Size, FontStyle.Italic) ElseIf oFamily.IsStyleAvailable(FontStyle.Bold) Then oFont = New Font(sItem, ComboBox1.Font.Size, FontStyle.Bold) ElseIf oFamily.IsStyleAvailable(FontStyle.Underline) Then oFont = New Font(sItem, ComboBox1.Font.Size, FontStyle.Underline) Else oFont = New Font(sItem, ComboBox1.Font.Size, FontStyle.Strikeout) End If ' Brush für Textfarbe Dim oBrush As Brush = New SolidBrush(e.ForeColor) ' Hintergrund e.DrawBackground() ' Text (Schriftname) ausgeben e.Graphics.DrawString(sItem, oFont, oBrush, e.Bounds.X, e.Bounds.Y) ' Aufräumen oBrush.Dispose() End Sub Dieser Tipp wurde bereits 19.074 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (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 Heinz Prelle Datei-Mehrfachauswahl an eine ListBox übergeben Dieser Tipp zeigt, wie Sie über den Windows-CommonDialog eine Mehrfach-Dateiauswal realisieren... sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
|
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. |
|||||||||||||||||


ComboBox zur Schriftauswahl (.NET)


