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.941 Themen, 20.708 Beiträge
Hmm? Verschieben per Maus, oder aus dem Programm heraus? Wenn letzteres dann mit Hilfe der Parameter/Variablen "Left" und "Top". Hoffe das Du das meintest?
Bye
hab das gemeint allerdings schon erfolglos ausprobiert ;-(
greetz aaf
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
' ----
vielen dank...ich kann ein bisschen vb, aber genug um das umzuschreiben.
greetz aaf
Top und Left MÜSSEN funktionieren !!!
z.B.:
Form1.top := Form1.top - 1; --> Verschiebt das Fenster um 1 nach oben
Form1.top := Form1.top + 1; --> Verschiebt das Fenster um 1 nach unten
Form1.left := Form1.left - 1; --> Verschiebt das Fenster um 1 nach links
Form1.left := Form1.left + 1; --> Verschiebt das Fenster um 1 nach rechts
Hoffe das hat geholfen... Und es MUSS gehen :)
mfg
fREaKaZoiD
ja soweit ist das klar...aber was machen wenn ich die form nicht nur auf benutzereingriff verschoben wird...
mit drag 'n' drop...
greetz aaf
Da hab ich leider keine Ahnung... Sorry...
fREaKaZoiD
naja macht nicht sooooo viel... ich hab jetzt rausgefunden wie ich runde forms mache...das sieht auch ganz witzig aus...
greetz aaf
ja soweit ist das klar...aber was machen wenn ich die form nur auf benutzereingriff verschieben will...
mit drag 'n' drop...
greetz aaf
FRAGE :
Ich brauche eine FTP Klasse, woher kann ich die bekommen, da ich ein Programmquellcode habe, mit dem ich aber ohne eine FRP klasse nichts anfangen kann.