Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Hauptfenster soll aktiv bleiben (https://www.delphipraxis.net/54512-hauptfenster-soll-aktiv-bleiben.html)

bioser 5. Okt 2005 17:50


Hauptfenster soll aktiv bleiben
 
Hallo, ich habe ein Hauptfenster und ein Beifenster als Thread, was immer oben liegt.
Da der Thread nach dem Hauptfenster gestartet wird, ist das Beifenster aktiv und das Menü
auf dem Fenster ist grau unterlegt, was nicht sein darf.
Das Hauptfenster besteht aus Eingabefeldern, das kleinere Fenster dient als Tastatur.
Wer kann mir dabei helfen ? Danke.

SirThornberry 5. Okt 2005 18:35

Re: Hauptfenster soll aktiv bleiben
 
du könntest nach dem erzeugen des Threadfensters den Focus wieder auf das Hauptfenster setzen oder mit SetWindowLong den Style (oder ExStyle?) so abändern das es nicht aktiv werden kann.

bioser 6. Okt 2005 08:08

Re: Hauptfenster soll aktiv bleiben
 
Hallo, leider ist doch nicht so einfach, wie Du sagst, weil
es so nicht funktioniert. Das Thread-Fenster ist nonvcl, was
ich hätte noch erwähnen wollen.
Mit einem CreateThread-Aufruf läuft es. Das Ding ist immer
aktiv, was auch mein Problem ist. Das Hauptfenster soll immer
aktiv sein.

RavenIV 6. Okt 2005 08:20

Re: Hauptfenster soll aktiv bleiben
 
dann könntest du im hauptfenster doch per Timer oder mit einem weiteren Thread prüfen, ob das Hauptfenster oder das nebenfester den Fokus hat und ggf. den Fokus zum hauptfenster holen.

marabu 6. Okt 2005 10:00

Re: Hauptfenster soll aktiv bleiben
 
Hallo bioser,

hast du einen bestimmten Grund, warum du in deiner Anwendung VCL und nonVCL Fenster mischen willst? Das von dir gewünschte Tastatur-Fenster könntest du doch mit BorderStyle = bsToolWindow und FormStyle = fsStayOnTop auch als normales VCL-Formular erzeugen.

Grüße vom marabu

bioser 6. Okt 2005 15:09

Re: Hauptfenster soll aktiv bleiben
 
Zitat:

Zitat von marabu
Hallo bioser,

hast du einen bestimmten Grund, warum du in deiner Anwendung VCL und nonVCL Fenster mischen willst? Das von dir gewünschte Tastatur-Fenster könntest du doch mit BorderStyle = bsToolWindow und FormStyle = fsStayOnTop auch als normales VCL-Formular erzeugen.

Grüße vom marabu

Berechtigte Frage, deswegen habe ich mich entschieden alles mit VCL zu machen. Entweder eins von beiden oder gar nichts. Das habe ich jetzt auch kapiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 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