Dieser Tipp ist für alle, die mal etwas anderes ausprobieren wollen: eine eigene Titelleiste. Erst mal müssen wir die normale Titelleiste wegbekommen. Das geht ganz einfach: Die Eigenschaft "FormBorderStyle" der Form auf "None" stellen. Damit wir aber auch eine neue Titelleiste haben, muss noch ein passendes "Bild" in die obere Ecke der Anwendung, also: ein Panel-Control mit dem Namen "Title" auf die Form, das Hintergrundbild des Panels mit dem Bild versehen und fertig. Was aber muss die Titelleiste eigentlich können? Sie muss das gesamte Fenster verschieben, wenn man es mit der Maus zieht. Also muss dieser Code am Anfang definiert werden: Public Class Form1 ' API-Funition zum Verschieben des Fensters Private Declare Function ReleaseCapture _ Lib "user32" () As Integer Private Declare Function SendMessage _ Lib "user32" Alias "SendMessageA" ( _ ByVal hwnd As Integer, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByRef lParam As Object) As Integer Private Const WM_NCLBUTTONDOWN = &HA1 Private Const HTCAPTION = 2 Jetzt muss für die Titelleiste, also den Panel "Title", nur noch ein MouseDown-Event deklariert werden, damit man das Fenster auch verschieben kann: Private Sub Title_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles Title.MouseDown Call ReleaseCapture() SendMessage(Me.Handle.ToInt32, WM_NCLBUTTONDOWN, HTCAPTION, 0) End Sub End Class Damit der Benutzer die Anwendung schließen und minimieren kann, wäre es natürlich gut, zwei Buttons zu definieren. Am Ende noch den Namen Ihres Programms auf den Panel "Title" geschrieben und fertig! Dieser Tipp wurde bereits 18.010 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. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats Januar 2025 Dieter Otter Zeilen einer MultiLine-TextBox ermitteln (VB.NET) Dieser Zipp zeigt, wie man die Zeilen einer MultiLine-TextBox exakt so ermitteln kann, wie diese auch in der TextBox dargestellt werden. 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. |