Windows Vista und auch Windows 7 bieten über das Windows API einen neuen TaskDialog, den man somit auch in seinen eigenen Anwendungen verwenden kann, sofern diese auf einem Vista bzw. Windows 7 System aufgerufen wird. Der neue Task-Dialog bietet gegenüber der Standard Windows Message-Box erweiterte Möglichkeiten, wie bspw. das Anzeigen bestimmter Sicherheits-Symbole. Auch optisch sieht der Task-Dialog schöner aus, als die Standard Message-Box.
Erstellen Sie ein neues Klassenmodul und fügen folgenden Code ein: ' Dialog-Schaltflächen Public Enum TaskDlgButton OK = 1 Yes = 2 No = 4 Cancel = 8 Retry = 16 [Close] = 32 End Enum ' Dialog-Symbole Public Enum TaskDlgIcon NoIcon = 0 WarningIcon = -1 ErrorIcon = -2 InfoIcon = -3 QuestionIcon = 32514 SecurityIcon = -4 SecurityIconBlue = -5 SecurityIconWarning = -6 SecurityIconError = -7 SecurityIconOK = -8 SecurityIconGrey = -9 End Enum Public Class TaskDlg ' API-Deklaration Private Declare Auto Function TaskDialog Lib "Comctl32.dll" ( _ ByVal hWnd As IntPtr, _ ByVal hInstance As IntPtr, _ ByVal lpTitle As String, _ ByVal lpMainText As String, _ ByVal lpContentText As String, _ ByVal dwButtons As Integer, _ ByVal dwIcon As Integer, _ ByRef wButton As Integer) As Integer ''' <summary> ''' Ruft den Windows Task-Dialog mit den angebenen Parametern auf. ''' </summary> ''' <param name="WindowTitle">Fenstertitel</param> ''' <param name="MainText">Text, der im obereen Bereich angezeigt werden soll.</param> ''' <param name="ContentText">Erklärungstext.</param> ''' <param name="Buttons">Schaltflächen, die angezeigt werden sollen.</param> ''' <param name="Icon">Symbol (Icon), das angezeigt werden soll.</param> ''' <returns>Die vom Anwender ausgewählte Schaltfläche</returns> Public Shared Function Show(ByVal WindowTitle As String, ByVal MainText As String, _ ByVal ContentText As String, ByVal Buttons As TaskDlgButton, _ ByVal Icon As TaskDlgIcon) As TaskDlgButton Dim result As Integer ' Task-Dialog aufrufen TaskDialog(0&, 0&, WindowTitle, MainText, ContentText, Buttons, &HFFFF& And Icon, result) ' Rückgabewert des ausgewählten Button Select Case result Case 1 Return TaskDlgButton.OK Case 2 Return TaskDlgButton.Cancel Case 4 Return TaskDlgButton.Retry Case 6 Return TaskDlgButton.Yes Case 7 Return TaskDlgButton.No Case 8 Return TaskDlgButton.Close End Select End Function End Class Nachfolgende Abbildung zeigt, welcher Parameter für welche Ausgabe innerhalb des Task-Dialogs benutzt wird.
Aufrufbeispiel: Dim result As TaskDlgButton result = TaskDlg.Show("Wichtiger Hinweis", _ "MyApplication erfordert Ihre Aufmerksamkeit!", _ "Der Aufruf von EXE-Dateien stellt ein erhöhtes Sicherheitsrisiko dar." & _ vbCrLf & vbCrLf & _ "Sind Sie sicher, dass Sie die ausgewählte Datei ausführen möchten?", _ TaskDlgButton.Yes Or TaskDlgButton.No, TaskDlgIcon.SecurityIconBlue) Dieser Tipp wurde bereits 2.071 mal aufgerufen. Anzeige
![]() ![]() ![]() (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. |
sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Buchempfehlung Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. 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. |