![]() |
Automatisch wieder als aktives Programm in den Vordergrund
Hallo Leute,
ich habe ein kleines Problem und hoffe, Ihr könnt mir da weiterhelfen. Ich habe ein kleines Programm geschrieben, welches als aktive Anwendung ständig im Vordergrund zu sehen ist. (FormStyle=fsStayOnTop) Soweit so gut. Nur wenn jetzt jemand in der Taskleiste eine Anwendung anklickt oder auf den Fenster-Rahmen einer anderen Anwendung klickt, so ist mein Programm zwar noch im Vordergrund zu sehen aber es verliert den Fokus und ist somit nicht mehr das aktive Fenster. Soweit ist dies auch noch gewollt. Nun möchte ich, dass in meinem Programm eine Timer läuft, der mein Programm automatisch nach ca. einer Minute wieder als aktive Anwendung aktiviert (...im Vordergrund ist mein Prog. ja immer noch) und zugleich den Fokus auf ein Textfeld setzt damit man sofort wieder etwas eingeben kann. Leider funktioniert dies bei mir nicht! Wenn ich folgendes in meine Timer-Procedure schreibe, dann blinkt zwar in der Taskleiste meine Programm und der Curser blinkt auch in dem richtigen Textfeld aber es ist nicht die aktive Anwendung.
Delphi-Quellcode:
Habe auch schon ShowWindow(...) und EnableWindow(...) ausprobiert, aber auch hier ohne Erfolg.
procedure TFormProg.TimerFrontTimer(Sender: TObject);
begin SetForegroundWindow(Application.Handle); EditProgramm.SetFocus; end; So, ich hoffe Ihr -die Delphi-Spezialisten- könnt mir da weiterhelfen. Danke! Gruß Stefan |
Re: Automatisch wieder als aktives Programm in den Vordergru
Das lässt sich in Windows einstellen, ob ein Programm, dass nach dem Fokus verlangt, blinken soll oder gleich in den Vordergrund kommen. Es gibt afaik keine abolut zuverlässige Möglichkeit, das eigene Programm aktiv zu bekommen.
|
Re: Automatisch wieder als aktives Programm in den Vordergru
Hallo DGL-luke,
danke für die schnelle Antwort! Und wo kann man dies in Windows einstellen? Ich hoffe doch noch auf den richtigen Befehl oder Windows-Funktion die mir meine Anwendung aktiviert. Gruß Stefan |
Re: Automatisch wieder als aktives Programm in den Vordergru
Keine Ahnung wo das geht... ich hab den dialog praktisch noch im kopf... man kann sogar einstellen, wie oft das in der taskleiste blinken soll ^^
Ich such mal. |
Re: Automatisch wieder als aktives Programm in den Vordergru
Das gibt es bei den Tuneup Utilities zum beispiel. Aber generell macht es Windows XP es einem Programm sehr viel schwerer sich in den Vordergund zu drängen, weil es einfach den Benutzer stört. Stell dir vor du tipps einen Text und ständig popt ein fenster in den Vordergrund, weil dr Programmierer meint sein Fenster wäre jetzt am wichtigsten.
|
Re: Automatisch wieder als aktives Programm in den Vordergru
ja, die müssen es gewesen sein.
Aber das geht doch sicher auch per Systemsteuerung? Oder nur per Registry? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz