Ich geb zu aus meiner Erklärung wäre ich glaube ich auch nicht schlau geworden...
Also ich versuche es jetzt mal verständlich.
Ich habe ein Hauptprogramm (das ich nicht selber geschrieben hab) in diese können beliebe Treiber eingebunden werden, die zur Steuerung spezieller Geräte gehören. Ich schreibe jetzt so einen Treiber.
Also wenn ich jetzt das Hauptprogramm starte hab ich eben dieses Hauptfenster. In diesem eine Menüleiste über die ich meinen Treiberoberfläche aufrufen kann (also jetzt sind zwei Fenster offen). In diesem Treiberfenster gibt es einen Button, mit dem ich die wichtigsten Einstellungen des Geräts das gesteuert wird setze, also den Grundzustand herstelle. Während der Initialisierung ist ein weiteres Fenster offen, in dem der Fortschritt der Initialisierung angezeigt wird (nötig, da die Initialisierung ca. drei Minuten dauert). Wenn jetzt dieses dritte Fenster offen ist möchte ich, das nicht auf das zweite (Treiber-) Fenster zugeriffen werden und somit keine Einstellungen währen der Initialisierung geändert werden können. D.h. das zweite Fenster sollte so gesperrt werden, das man nichts ändern kann und gleichzeitig sollte auch wenn das gesperrte Fenster angezeigt wird, das dritte Fenster immer davor angezeigt werden (und somit nicht das Problem zu schaffen, das sich der Benutzer wundert, das er im zweiten Fenster nichts ändern kann, sondern dann sofort sieht das ja noch das Initialisierungfenster offen ist)
Hoffe jetzt wird mein Anliegen klarer
Hab jetzt schon mal eine Lösung gefunden, in dem ich immer wenn das dritte Fenster offen ist, diesem den Focus gebe sobald das zweite Fenster aktiviert wird.
Hier mal der Quellcode ist vielleicht verständlicher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TI16I32Dialog.FormActivate(Sender: TObject); begin if assigned(StatusDialog) then if StatusDialog.Showing then StatusDialog.SetFocus; end; |
Weiß allerdings nicht ob das so recht sinnvoll programmiert ist oder ob es vielleicht eine bessere Alternative gibt.
@Yogu: Danke schon mal für die Mühen
Gruß Jack
Es gibt keine dummen Fragen, nur dumme Antworten.