Einzelnen Beitrag anzeigen

Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Cursor bei onMouseDown ändern

  Alt 27. Aug 2005, 14:31
Danke, das funktioniert. Nur habe ich jetzt ein anderes Problem:

Delphi-Quellcode:
procedure TForm.PanelMouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    FFormMoving := True;
    FMoveStartPos := Point(X, Y);
    Panel.Cursor := crSizeAll;
    ReleaseCapture;
  end;
end;

procedure TForm.PanelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if FFormMoving then
    SetWindowPos(Handle, 0,
                 Left + (X - FMoveStartPos.X),
                 Top + (Y - FMoveStartPos.Y),
                 0, 0, SWP_NOSIZE or SWP_NOZORDER);
end;

procedure TForm.PanelMouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    FFormMoving := False;
    Panel.Cursor := crCross;
    ReleaseCapture;
  end;
end;
Ich nutze diesen Code, um das Formular ausgehend von dem Panel zu verschieben. Mit ReleaseCapture bleibt das Formular "stecken", sobald ich die Maus ein bisschen schneller bewege.

Kennt jemand eine Lösung für beide Probleme?
  Mit Zitat antworten Zitat