AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Maus Cursor wechsel auf abbruch

Ein Thema von HomerGER · begonnen am 14. Aug 2004 · letzter Beitrag vom 14. Aug 2004
Antwort Antwort
Benutzerbild von HomerGER
HomerGER

Registriert seit: 8. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#1

Maus Cursor wechsel auf abbruch

  Alt 14. Aug 2004, 11:51
Hallo
Ich benutze ein ani Cursor wenn irgendwas grade im Programm passiert - so nach dem Motto bitte warten

ani_cursor_an
try
... hier macht er was

finally
ani_cursor_aus
end

ani_cursor_an : aus ressource ani laden
ani_cursoraus : ani cursor free und default laden

nun suche ich auf der Festplatte nach dateien, bei der suche wird der anicursor eingeschalt nach abgeschlossener suche wird wieder der default cursor geladen.

nun hab ich aber ein Button suche abbrechen
ich möchte jetzt wenn der Benutzer mit den ani cursor über den button fährt der default cursor angezeigt wird, sollte er den button wieder verlassen soll (wenn die Suche noch andauert) der ani cursor angezeigt werden

wenn man auf die systemicon (min, max Close) geht funktioniert das ja schon und genau so wollte ich gern auch haben

gibt es da schon ein fertiges Ereigniss?
Oder wie kann ich es am besten lösen?

Homer
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Maus Cursor wechsel auf abbruch

  Alt 14. Aug 2004, 13: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
Benutzerbild von HomerGER
HomerGER

Registriert seit: 8. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#3

Re: Maus Cursor wechsel auf abbruch

  Alt 14. Aug 2004, 13:48
hi
in deinem Beispiel wird auf jedenfall umgeschaltet wenn man den Button verläßt

bei mir hab ich

crHourGlass
mach was lange dauert


wenn du fertig bist
crDefault


das haut auch hin

Aber ich will

crHourGlass
mach was lange dauert

wenn wenn abbruch move dann (auf jedenfall)
crDefault
wenn abbruch leave und not fertig
crHourGlass
sonst
crDefault



wenn du fertig bist
crDefault
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Maus Cursor wechsel auf abbruch

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

dann setze doch im OnLeav ereigniss eine Bedingung:
Delphi-Quellcode:
procedure TForm1.CMMouseLeave(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) <> Button2.Handle then
  begin
    if (etwas_das_lange_dauert_nicht_fertig) then
    begin
      myCursor := crHourGlass
    end
    else
    begin
      myCursor := crDefault;
    end;
    Screen.Cursor := myCursor;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 8. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#5

Re: Maus Cursor wechsel auf abbruch

  Alt 14. Aug 2004, 15:35
hm das wollte ich vermeiden
ich dache es gäbe ne ereigniss was ich nutzen kann
wenn du mit den cursor auf die systemicon geht wird ja auch umgeschaltet und zurück
und ich dachte es gäbe es schon fertig - ja ja faule sau sagst du jetzt zu mir
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:32 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