Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Maus Cursor wechsel auf abbruch

  Alt 14. Aug 2004, 14:00
Hai HomerGER,

es müsste gehen wenn Du dir ein MouneEnter und ein MouseLeave event bastelst:
In dem Beispiel wird beim click auf Button1 ein extra Cursort gesetzt. Wenn über über Button2 kommst wird der Standardcursor angezeigt und beim click auf diesen Button auch wieder der Standardcursor gesetzt.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

var
  mycursor : TCursor;

procedure TForm1.Button1Click(Sender: TObject); //Extra Cursort setzen
begin
  myCursor := crHourGlass;
end;

procedure TForm1.Button2Click(Sender: TObject); //Standard setzen
begin
  myCursor := crDefault;
end;

procedure TForm1.CMMouseEnter(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) = Button2.Handle then
  begin
    Screen.Cursor := crDefault;
  end;
end;

procedure TForm1.CMMouseLeave(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) <> Button2.Handle then
  begin
    Screen.Cursor := myCursor;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat