Hallo
Ich habe folgendes Problem:
Ein Fenster ohne Titlebar soll per Klick auf das Formular verschoben werden können.
Prinzipiell funktioniert das mit diesem Code (von http://www.planet-source-code.com):
[highlight=vbnet]#Region "ClientAreaMove Handling"
Const WM_NCHITTEST As Integer = &H84
Const HTCLIENT As Integer = &H1
Const HTCAPTION As Integer = &H2
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_NCHITTEST
MyBase.WndProc(m)
If m.Result = HTCLIENT Then m.Result = HTCAPTION
Case Else
MyBase.WndProc(m)
End Select
End Sub
#End Region[/highlight]
Das Problem ist folgendes. Es gibt ein Kontextmenü. Dieses öffnet sich nur, wenn ich auf ein Label innerhalb des Fensters rechtsklicke. Das verschieben des Formulars geht nur, wenn ich auf eine freie Stelle im Formular klicke.
Wie muss ich der Code aussehen, damit beides ordnungsgemäß funktioniert?
Gruß kleinerbub
Ich habe folgendes Problem:
Ein Fenster ohne Titlebar soll per Klick auf das Formular verschoben werden können.
Prinzipiell funktioniert das mit diesem Code (von http://www.planet-source-code.com):
[highlight=vbnet]#Region "ClientAreaMove Handling"
Const WM_NCHITTEST As Integer = &H84
Const HTCLIENT As Integer = &H1
Const HTCAPTION As Integer = &H2
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_NCHITTEST
MyBase.WndProc(m)
If m.Result = HTCLIENT Then m.Result = HTCAPTION
Case Else
MyBase.WndProc(m)
End Select
End Sub
#End Region[/highlight]
Das Problem ist folgendes. Es gibt ein Kontextmenü. Dieses öffnet sich nur, wenn ich auf ein Label innerhalb des Fensters rechtsklicke. Das verschieben des Formulars geht nur, wenn ich auf eine freie Stelle im Formular klicke.
Wie muss ich der Code aussehen, damit beides ordnungsgemäß funktioniert?
Gruß kleinerbub
Comment