Sicher haben Sie auch schon bemerkt, dass die Symbole in der VB Standard-MsgBox nicht unter allen Windows-Versionen gleich aussehen. Die Symbole für das Info-, Frage oder auch Ausrufezeichen variieren von Windows-Version zu Windows-Version. Nachfolgender Code zeigt, wie Sie diese Symbole selbst verwenden können - und zwar immer exakt die Symbole, wie sie auch Windows verwendet. Wenn Sie bspw. Ihre eigene MessageBox-Form verwenden können Sie mit Hilfe dieses Tipps die "richtigen" Warn- und Infosymbole anzeigen. Fügen Sie nachfolgenden Code in ein Modul: Option Explicit ' Benötigte API-Deklarationen Private Declare Function LoadSystemIcon Lib "user32" _ Alias "LoadIconA" ( _ ByVal hInstance As Long, _ ByVal nIcon As Long) As Long Private Declare Function DrawIcon Lib "user32" ( _ ByVal hDC As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal hIcon As Long) As Long ' Symbol-Aufzählung Public Enum eSystemIconID IDI_APPLICATION = 32512& IDI_ASTERISK = 32516& IDI_EXCLAMATION = 32515& IDI_HAND = 32513& IDI_QUESTION = 32514& End Enum Public Sub DrawSystemIcon(ByVal hDC As Long, _ ByVal nID As eSystemIconID) ' System-Icon anzeigen Dim nHandle As Long nHandle = LoadSystemIcon(0&, nID) DrawIcon hDC, 0, 0, nHandle End Sub Anwendungsbeispiel: Private Sub Form_Load() ' Größe der PictureBox auf 32x32 Pixel festlegen With Picture1 .BorderStyle = 0 .Width = 32 * Screen.TwipsPerPixelX .Height = 32 * Screen.TwipsPerPixelY .AutoRedraw = True End With ' ComboBox mit Symbol-Auswahl With Combo1 .AddItem "Anwendung" .ItemData(.NewIndex) = eSystemIconID.IDI_APPLICATION .AddItem "Infosymbol" .ItemData(.NewIndex) = eSystemIconID.IDI_ASTERISK .AddItem "Ausrufesymbol" .ItemData(.NewIndex) = eSystemIconID.IDI_EXCLAMATION .AddItem "Kritischsymbol" .ItemData(.NewIndex) = eSystemIconID.IDI_HAND .AddItem "Fragesymbol" .ItemData(.NewIndex) = eSystemIconID.IDI_QUESTION .ListIndex = 0 End With End Sub Private Sub Combo1_Click() ' Icon anzeigen With Picture1 .Cls DrawSystemIcon Picture1.hDC, Combo1.ItemData(Combo1.ListIndex) End With End Sub Dieser Tipp wurde bereits 11.941 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 Juni 2024 Microsys Kramer Mausrad im Formular abschalten (Access) Deaktiviert das Mausrad in Access-Formularen. 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. |