Bei der Programmierung wird manchmal zum Zwecke der Not der Form des Formulars auf BSNONE eingestellt, dh die Form ohne Titel. Aber auf diese Weise können Sie ohne die Titelleiste das Formular nicht ziehen. Tatsächlich müssen wir nur die folgende Methode verwenden, um das Formular reibungslos zu ziehen.
Hinzugefügt zum OnmouseDown -Event
Oldx: = x;
Oldy: = U;
Hinzugefügt zum Onmousemove -Ereignis
Form1.Left: = Form1.LEFT+x-oldx;
Form1.top:=form1.top+y-old;
## 1 Codeerstellung lautet wie folgt:
Einheit Einheit1;
Schnittstelle
Verwendung
Windows, Nachrichten, Systeme, Klassen, Grafiken, Steuerelemente, Formulare, Dialoge;
Typ
Tform1 = Klasse (tform)
Verfahrensformmousedown (Absender: Tobject; Taste: TMouseButton;
Verschiebung: TShiftstate; x, y, Ganzzahl);
Prozedurformmousemove (Absender: Tobject; Taste: TMouseButton;
Verschiebung: TShiftstate; x, y, Ganzzahl);
Privat
{Private Deklarationen}
öffentlich
Private Erklärungen}
Ende;
var
Form1: tform1;
Oldx, Oldy: Ganzzahl;
Durchführung
$ R *.dfm}
Prozedur TForm1.FormmouseDown (Absender: Tobject; Taste: tmouseButton;
Verschiebung: TShiftState; x, y: Ganzzahl);
Beginnen
Oldx: = x;
Oldy: = y;
Ende;
Prozedur tform1.FormMousemove (Absender: Tobject; Taste: TmoUseButton
Verschiebung: TShiftstate; x,
Y: Ganzzahl);
Beginnen
Wenn ssleft in der Verschiebung dann die linke Maustaste drücken
Beginnen
Form1.Left: = Form1.LEFT+x-oldx;
Form1.top:=form1.top+y-old;
Ende;
Ende;
Ende.
Der Chemoscode wurde getestet und in Delphi5.0 und Win98 SE bestanden.