Stört Sie das eintönige Standard-Windows, was die Dialoge und Fenster betrifft? Dann ändern Sie z.B. doch einfach die Fenster-Titelleiste, indem Sie Ihre eigene Titelleiste verwenden. ' zunächst die benötigten Deklarationen Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Declare Function DrawCaption Lib "User32" ( _ ByVal hwnd As Long, _ ByVal hdc As Long, _ pcRect As RECT, _ ByVal un As Long) As Long Public Declare Function SetRect Lib "User32" ( _ lpRect As RECT, _ ByVal X1 As Long, _ ByVal Y1 As Long, _ ByVal X2 As Long, _ ByVal Y2 As Long) As Long Public Declare Function SendMessage Lib "User32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Public Declare Sub ReleaseCapture Lib "User32" () Public Const WM_NCLBUTTONDOWN = &HA1 Public Const HTCAPTION = 2 ' Höhe und Farbe Ihrer eigenen Titelleiste Const tbarWidth = 20 Const tbarColor = &H29 Dim r As RECT Private Sub Form_Load() Form1.AutoRedraw = True Me.Cls Me.ScaleMode = vbPixels SetRect r, 0, 0, Me.ScaleWidth, tbarWidth DrawCaption Me.hwnd, Me.hdc, r, tbarColor End Sub ' Bei Größenänderung der Form muß die ' Titelleiste neu gezeichnet werden Private Sub Form_Resize() SetRect r, 0, 0, Me.ScaleWidth, tbarWidth DrawCaption Me.hwnd, Me.hdc, r, tbarColor End Sub ' "Darf" der Anwender das Fenster über die Titelleiste ' verschieben, benötigen Sie noch folgenden Code: Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) ' Außerhalb Tielleiste If Y > tbarWidth Then Exit Sub Dim lResult As Long If Button = 1 Then Call ReleaseCapture lResult = SendMessage(Me.hwnd, _ WM_NCLBUTTONDOWN, HTCAPTION, 0&) End If End Sub Probieren Sie für tbarColor auch einmal die Werte &H9 oder &H19 aus. Dieser Tipp wurde bereits 23.347 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. |
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 ![]() Dieter Otter sevTabStrip: Rechtsklick auf Reiter erkennen Eine Funktion, mit der sich prüfen lässt, auf welchen Tab-Reiter ein Mausklick erfolgte Neu! sevPopUp 2.0 ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
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. |