![]() |
Focus auf eigene Anwendung nicht verlieren
Hallo :-)
ein lt. Suche schon viel diskutiertes Thema - aber leider finde ich keine Lösung :oops: Eine ganz simple Situation: Ich hab in Form1 ein edit1. Wenn nun eine zweistellige Zahl in diesem Edit eingegeben wird soll eine Internetseite "www.test.de?wert="+edit1.text im Hintergrund mit dem User-Standardbrowser aufgerufen werden.. Alles kein Problem .. bis auf den Focus .. der wird nach dem shellexecute auf den Browser verlegt .. und egal was ich mache .. ich bekomm den focus nicht zurück ... oder anders: ich kann ihn nicht behalten:-( (P.S.: der user soll einfach zahlenpaare eingeben .. wenn der user schnelle eingaben macht dann öffnen sich dementsprechend viele Tabs im Browser .. aber der user soll nicht warten bis eine der Eingaben "fertig geladen" wurde) Vielen Dank für Hinweise Erich |
AW: Focus auf eigene Anwendung nicht verlieren
FormStyle ==> fsStayOnTop müsste klappen
|
AW: Focus auf eigene Anwendung nicht verlieren
Der ShellExecute() Funktion übergibst du wahrscheinlich den Parameter SW_SHOW.
Versuch's mal mit SW_SHOWNOACTIVATE. |
AW: Focus auf eigene Anwendung nicht verlieren
danke für die Hinweise ... der Browser nimmt aber immer noch den Fokus von meinem Programm.
|
AW: Focus auf eigene Anwendung nicht verlieren
Könnte man nicht im Prinzip nach dem
![]() ![]() Gruß Puke |
AW: Focus auf eigene Anwendung nicht verlieren
Zitat:
Von daher wird das eigene Programm zu früh versuchen den Focus wieder zu erhalten und dann verliert es ihn ne halbe Sekunde später doch. |
AW: Focus auf eigene Anwendung nicht verlieren
entschuldigt das ich hier mein Problem schreibe,
ich brauch eure hilfe ich will in delphie Programme ausführen (wintaste+r) wist ihr wie soetwas geht (ich bin ein Anfänger also lacht ihr jetzt bestimmt) |
AW: Focus auf eigene Anwendung nicht verlieren
Eigentlich macht man eigene Threads für eigene Fragen auf. Hier passt es allerdings dennoch gut hin, denn die Antwort steht bereits 2 Beiträge über deiner Frage, sogar mit Such-Link ins Forum da hat Puke sich wohl verklickt,
![]() |
AW: Focus auf eigene Anwendung nicht verlieren
Ich denk ich hab jetzt alles durch ;-)
.. und nichts funktioniert :-(
Ich denke, der Kern des Problems ist der Browser. Sobald ich einen Browser starte, wird der Focus IN den Browser verlegt (DOM) .. ein Druck auf die Tabulatortaste fokusiert das nächste HTML Element.. .. gibt es nicht irgendeine Möglichkeit - einen Browser zu starten und dennoch den Focus in der eigenen Anwendung zu behalten ? Danke für Hinweise Erich |
AW: Focus auf eigene Anwendung nicht verlieren
Hallo-
Aus Zeitmangel habe ich das Thema nur überflogen. Aber soweit ich es im Hinterkopf habe, darf eine Anwendung sich nicht in den Vordergrund zwängen wenn sie es nicht mehr ist.
Delphi-Quellcode:
funktioniert also nicht, wenn der eigene Delphi-Prozess nicht mehr im Vordergrund ist.
SetForegroundWindow(self.Handle)
Es sei denn, die eigene Anwendung hat zuletzt eine Benutzereingabe bekommen. Der Trick ist, sich selbst eine Eingabe zu schicken. So habe ich es auf einem VCL-Formular einmal gemacht:
Delphi-Quellcode:
uses Winapi.Windows;
var Input: TInput; begin // Diese Anwendung in den Vordergrund zwängen ZeroMemory(@Input, SizeOf(Input)); SendInput(1, Input, SizeOf(Input)); SetForegroundWindow(Handle); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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