AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cursor bei onMouseDown ändern

Ein Thema von ManuMF · begonnen am 27. Aug 2005 · letzter Beitrag vom 27. Aug 2005
Antwort Antwort
Benutzerbild von ManuMF
ManuMF

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

Cursor bei onMouseDown ändern

  Alt 27. Aug 2005, 14:14
Hallo,

wie kann ich den Cursor auf einem Panel bei onMouseDown ändern?
Ich habe schon Form.cursor, Panel.cursor und Cursor := crSizeAll probiert, aber er ändert sich nicht.

Danke,
ManuMF
  Mit Zitat antworten Zitat
DBR

Registriert seit: 19. Jul 2005
38 Beiträge
 
#2

Re: Cursor bei onMouseDown ändern

  Alt 27. Aug 2005, 14:21
Delphi-Quellcode:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Panel1.cursor := crHourGlass;
  ReleaseCapture;
end;
Gruß DBR
  Mit Zitat antworten Zitat
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
DBR

Registriert seit: 19. Jul 2005
38 Beiträge
 
#4

Re: Cursor bei onMouseDown ändern

  Alt 27. Aug 2005, 17:02
Delphi-Quellcode:
const
  FFormMoving: boolean = false;

var
  FMoveStartPos: TPoint;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel.Cursor := crCross;
end;

procedure TForm1.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;
    Application.processmessages;
    SetCapture(Panel.handle);
  end;
end;

procedure TForm1.PanelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if FFormMoving then
    SetBounds(Left - (FMoveStartPos.x - x), Top - (FMoveStartPos.y - y),
      Width, Height);
end;

procedure TForm1.PanelMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    FFormMoving := False;
    Panel.Cursor := crCross;
  end;
end;
Gruß DBR
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

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

Re: Cursor bei onMouseDown ändern

  Alt 27. Aug 2005, 19:13
Super, funktioniert!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz