Autor Beitrag
Krischa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118

Windows 7 64 Bit
Delphi 2007
BeitragVerfasst: Mo 25.05.09 10:59 
Hi.
wie bekomme ich es hin das sich der Mauszeiger zu einer Sanduhr wandelt wenn ich eine Abfrage starte und er wieder "normal" wird wenn die Abfrage fertig ist. Die Abfragen können bis zu 2 min dauern und damit der Benutzer weiß das noch gearbeitet wird soll sich der Mauszeiger ändern. Eine Progressbar wäre eine alternative aber ich habe auch davon keine Ahnung.
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Mo 25.05.09 11:07 
Hi,

mittels Screen.Cursor kannst du den Mauszeiger verändern. Wie sieht denn dein "Start" und "Ende" aus?

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Krischa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118

Windows 7 64 Bit
Delphi 2007
BeitragVerfasst: Mo 25.05.09 11:32 
Hi danke für die Hilfe.
Naja die Abfrage startet per Button. Habe jetzt beim Klicken auf den Button den Cursor verändert und wenn er fertig ist mit dem Event als letzten Befehl den Cursor wieder zurückgesetzt.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 25.05.09 11:46 
So mache ich das auch. Zusätzlich solltest du aber noch eine kleine Sicherung einbauen, falls mal was schief geht (falls eine Exception während der Datenbankabfrage ausgelöst wird):

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Screen.Cursor := crHourGlass;
  try
    DatenbankAbfrage;
  finally
    Screen.Cursor := crDefault;
  end;
end;

So wird sichergestellt, dass der Cursor wieder zurückgesetzt wird, auch wenn eine Ausnahme auftritt.
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Mo 25.05.09 12:25 
user profile iconKrischa hat folgendes geschrieben Zum zitierten Posting springen:
Hi.
wie bekomme ich es hin das sich der Mauszeiger zu einer Sanduhr wandelt wenn ich eine Abfrage starte und er wieder "normal" wird wenn die Abfrage fertig ist. Die Abfragen können bis zu 2 min dauern und damit der Benutzer weiß das noch gearbeitet wird soll sich der Mauszeiger ändern. Eine Progressbar wäre eine alternative aber ich habe auch davon keine Ahnung.


Hallo,

da Windows ein Multitaskingsystem ist, ändert sich der Zeiger in eine Sanduhr, solange sich der Cursor über deinem Fenster befindet. Es können aber noch 20 andere Programme laufen, die den Cursor setzen, dementsprechend bekommst du einen anderen Cursor, wenn der Benutzer die Maus aus deinem Fenster herausbewegt. Das ist auch gut so und völlig korrekt.

Gruss Reinhard