Rubrik: Grafik und Font · Bilder & Icons | VB-Versionen: VB4, VB5, VB6 | 12.04.02 |
Windows-Symbole verwenden Mit wenig Aufwand lassen sich die allseits bekannten Windows-Symbole, wie Minimieren, Maximieren, Schließen usw. verwenden. | ||
Autor: Dieter Otter | Bewertung: | Views: 21.578 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Schauen Sie sich einmal nachfolgende Abbildung an:
Täuschend echt - oder? Es handelt sich eindeutig um die allseits bekannten Symbole, die man in jedem Windows-Fenster findet.
Wie lassen sich die Symbole nun in ganz normalen Controls verwenden? z.B. als Beschriftung von Schaltflächen?
Klar werden Sie jetzt sagen. Man setzt die Style-Eigenschaft des Buttons auf "1 - Grafisch" und ordnet dem Button dann ein entsprechendes Bildsymbol zu.
Es geht aber auch einfacher!
Schauen Sie sich einmal die installierten Schriften auf Ihrem System an. Unter anderem werden Sie hier die Schrift Marlett finden. Und wenn Sie sich jetzt einmal den Zeichensatz dieser Schriftart ansehen, werden Sie feststellen, daß dieser genau aus obigen abgebildeten Symbolen besteht (und natürlich noch ein paar mehr).
Was liegt also näher diese Symbole als Beschriftung für einen CommandButton zu verwenden? Windows selbst macht es uns ja vor. Oder meinen Sie bei den Windows-Symbolen handelt es sich um kleine Grafiken? Weit gefehlt. Windows verwendet schlicht und einfach den Marlett-Zeichensatz
Und damit Sie sich nicht mühevoll irgendwelche Ziffern oder Buchstaben merken müssen, erweitern Sie Ihr Projekt um ein Modul und nachfolgenden Code:
' Windows-Symbole verwenden Option Explicit Public Enum winSymbol Arrow_Left = 51 Arrow_Right = 52 Arrow_Up = 53 Arrow_Down = 54 Arrow_Spin = 118 Arrow_Bottom = 55 Arrow_Small_Left = 119 Arrow_Small_Right = 56 Arrow_Small_Up = 116 Arrow_Small_Down = 57 Symbol_Check = 97 Symbol_Bullet = 104 Symbol_Small_Bullet = 105 Symbol_Close = 114 Symbol_Help = 115 Symbol_Minimize = 48 Symbol_Maximize = 49 Symbol_Restore = 50 End Enum
Das "Beschriften" der Controls mit den Symbolen aus dem Marlett-Zeichensatz nehmen Sie dann zur Laufzeit vor.
' Ändert die Caption-Eigenschaft eines Controls ' unter Verwendung einer der Windows-Symbol Konstanten Public Sub Control_SetCaption(Control As Object, _ Symbol As winSymbol, _ Optional ByVal iSize As Integer = 8, _ Optional ByVal bBold As Boolean = False) On Error Resume Next With Control ' Schrift auf "Marlett" setzen + weitere Attribute .Font.Name = "Marlett" .Font.Size = iSize .Font.Bold = bBold ' Caption ändern Err = 0 .Caption = Chr$(Symbol) If Err <> 0 Then ' Es gibt keine Caption-Eigenschaft .Text = Chr$(Symbol) End If End With End Sub
Beispiel:
' Minimieren-Button Control_SetCaption cmdMinimize, Symbol_Minimize ' Schließen-Button Control_SetCaption cmdClose, Symbol_Close ' Weiter-Button Control_SetCaption cmdForward, Arrow_Right ' Zurück-Button Control_SetCaption cmdBack, Arrow_Left