PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fokus auf sich selbst?


aths
2004-01-30, 22:44:23
Folgendes Problem:

aTuner prüft, bevor die Fenster angelegt werden, ob schon ein Programm "aTuner" läuft. Wenn ja, wird eine Messagebox mit einem entsprechenden Hinweis aufgerufen, und aTuner beendet sich nach dem Klick auf "OK".

Eine bessere Lösung wäre wohl, wenn das bereits laufende aTuner in den Vordergrund geholt wird. Ich möchte also das Fenster anzeigen (falls es im Hintergrund / minimiert war) und wenn es geht auch gleich den Eingabe-Fokus drauf legen.

Wie geht sowas? aTuner ist in Delphi programmiert.

Silpion
2004-01-31, 12:33:51
Wenn du eine Möglichkeit findest, an das Handle der Form des ersten aTuners zu kommen, kannst du ihr mit "postmessage" eine Nachricht schicken, die eine Prozedur auslöst um den Fokus auf die erste Form zu legen. Anschließend kann sich der zweite aTuner selbst beenden.

Der Nachteil des Ganzen ist, dass "postmessage" und andere die Win-API betreffende Befehle zwar funktionieren, aber zumindest in der Hilfe der Delphi 6 Personal Edition nicht dokumentiert sind. :(

Matti
2004-02-01, 11:31:34
if isiconic(aTunerWindow) then showwindow(aTunerWindow,SW_RESTORE);
setforegroundwindow(aTunerWindow);

aTunerWindow ist das Fensterhandle