hi leute,
ich hab folgendes problem in delphi 3, wenn ich den borderstyle auf bsnone setze habe ich logischerweise
keine titelleiste mehr, alles klar soweit, aber wie kann ich jetzt das fenster verschieben ? hab alles probiert
(soweit ich weiss ;-) , mit den events dragover, dragdrop etc. habe ich nichts zustandegebracht...
danke im voraus
greetz aaf
Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge
Verstehst du Vb?
Ich hab da einen Sourcecode (allerdings nicht ausprobiert):
Wird hoffentlich nicht so schwer, ihn in Delphi umzuschreiben
>Wie realisiere ich ein verschiebbares Form, welches keine Titelleiste hat?
Form verschiebbar durch Niederhalten der linken Maustaste auf der
Form:
' ---- Deklarationen
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 WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
' ---- Code
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = vbLeftButton Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0
End If
End Sub
' ----
>Wie unterdrücke ich die Möglichkeit des Verschiebens temporär?
' ---- Code
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = vbLeftButton And IchWillVerschieben = True Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0
End If
End Sub
' ----