Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge

delphi 3

aaf / 10 Antworten / Flachansicht Nickles

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

bei Antwort benachrichtigen
(Anonym) aaf „delphi 3“
Optionen

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

' ----

bei Antwort benachrichtigen