Start / Tipps / VB 5/6-Tipp 0039: Form ohne Titelleiste bewegen
 
Startseite Up-/Download Tutorials Club Das Team
Rubriken Foren Bücher Tips 'n Tricks Suche


VB 5/6-Tipp 0039: Form ohne Titelleiste bewegen


Was tuen mit einem Form ohne Titelleiste, wenn es per Maus hin- und hergeschoben werden soll. Man dieses Problem elegant mit zwei API Lösen:

Schwierigkeitsgrad 1 Verwendete API-Aufrufe:
ReleaseCapture, SendMessageA (SendMessage)
Download des Beispielprojektes Download des Beispielprojektes [1,77 KB]
'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Beschriftungsfeld "Label1"

Option Explicit

Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Declare Function SendMessage Lib "user32" Alias _
        "SendMessageA" (ByVal hwnd As Long, ByVal wMsg _
        As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const HTCAPTION = 2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const WM_SYSCOMMAND = &H112

Private Sub label1_MouseDown(Button As Integer, Shift As _
            Integer, X As Single, Y As Single)
            
    Call ReleaseCapture
    SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub

Private Sub Command1_Click()
  Unload Me
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------
Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?
Ja, funktioniert! Windows-Version:
Nein, funktioniert nicht bei mir! VB-Version:

Ihre Meinung

Falls Sie Fragen zu oder Erfahrungen mit diesem Tipp haben, dann sollten Sie diese hier posten. Für alles weitere melden Sie sich bitte in einem zum Thema passendem Forum.

Falls Sie in ihren Kommentar Quellcode einbinden wollen, verwenden Sie bitte Pseudotags: Quellcode für VB5/VB6 wird durch ein vorangestelltes [code] markiert und durch [/code] abgeschlossen.

Ihr Name:   
Ihre E-Mailadresse:   
 
Bitte folgende Kontrollnummer eingeben: 2781
Kontrolle:   
 
Ihre Frage/Ihr Kommentar:
Ja, ich möchte weitere Beiträge per E-Mail erhalten
Von _.=:FR34K:=._FR4NK0 am 27.03.2003 um 21:50
Ach Gott funktioniert das gut
Visit us at www.fr34ks.de
jo
Von Joschko am 19.01.2003 um 18:16
Funktioniert super
Von Dirk am 12.11.2002 um 18:48
Hallo.

Also ich finde diesen Tipp ziemlich kompliziert. Es ist doch viel einfacher, das MouseMove-Ereignis zu verwenden; dann braucht man die API nicht und es sind nur ein paar Zeilen Code.

Aber ich meine, es geht auch so, wie's hier steht.

Dirk
Von Rack Michael am 16.02.2001 um 21:31
Geht es auch, wenn ich ein DIALOG-Fenster mache, dass ich "Show in Taskbar" mache, und dem Programm unbemerkt einen Namen gebe.
Da ich eine eigene Menüzeile habe, ist das notwendig, weil wenn ich "Me.Caption" mache, wird mir die WindowsLeiste angezeigt..
Thx.
Rack Michael

Erstellt: 15.06.2003
Aktualisierung: 15.06.2003
  Autor: ActiveVB
E-Mail: Tipps@ActiveVB.de



Copyright © 1998-2010 by ActiveVB
Alle Rechte vorbehalten.