Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#6
  Alt 4. Mai 2003, 15:30
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*
  Mit Zitat antworten Zitat