Wieso?
Mal abgesehen davon, daß mein Code vollkommen falsch ist (sorry, aber um die Uhrzeit

), was du aber nicht bemängelst, frage ich vorher mit "if ssLeft in Shift" ab, ob die linke Maustaste gedrückt wurde. Und wenn ich bei mir die Shift-, Alt- oder Strg-Taste drücke und versuche, ein Fenster zu verschieben, klappt das immer noch, weil Windows (meins zumindest) nur nach der linken Maustaste guckt.
Richtigerweise wäre mein Code aber folgender:
Delphi-Quellcode:
if ssLeft in Shift then
begin
Form1.Left := Mouse.CursorPos.X - MousePos.X;
Form1.Top := Mouse.CursorPos.Y - MousePos.Y;
end;
und zwar mit globaler Variable MousePos: TPoint und im MouseDown-Event folgendes:
Delphi-Quellcode:
MousePos.X := Mouse.CursorPos.X - Form1.Left;
MousePos.Y := Mouse.CursorPos.Y - Form1.Top;
Das dürfte besser klappen als mein erster *g*