Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Form sichtbar machen wenn andere Anwendung sichtbar (https://www.delphipraxis.net/28311-form-sichtbar-machen-wenn-andere-anwendung-sichtbar.html)

Susanne 23. Aug 2004 07:59


Form sichtbar machen wenn andere Anwendung sichtbar
 
Hallo,

ich möchte, wenn ein bestimmtes Fenster angezeigt wird und den Focus hat, also im Vordergrund ist und bearbeitet wird, dann soll auch immer eines meiner Fenster angezeigt werden. Wenn das Fenster dann geschlossen wird, soll meines aus geschlossen werden und wenn das Fenster den Focus verliert soll mein Fenster nicht mehr angezeigt werden und wenn es wieder den Focus hat, soll mein Fenster auch wieder angezeigt werde.

Geht das überhaupt und wie mache ich das?

p.s.: Das andere Fenster mache ich aus meiner Anwendung sichtbar mit .visible := True; Fenster ist aber von einer anderen Anwendung.

TeronG 23. Aug 2004 08:20

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Kannst du nicht deinfenster.visible := Anderesfenster.visible machen ?? oder Denk ich jetzt zu simpel :?:

Susanne 23. Aug 2004 10:28

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Zitat:

deinfenster.visible := Anderesfenster.visible machen
gut, das war mir schon klar, aber wenn ich nun mal ganz woanders hinklicke und dann wieder zu anderesfenster zurückkehre, dann wird ja mein Fenster nicht mehr angezeigt und genau da liegt ja mein Problem, ich möchte, dass dann auch wieder mein Fenster eingeblendet wird.

Und ich weiss nicht, wie ich dann hinbekomme.

dizzy 23. Aug 2004 10:33

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Schau die mal die Properties Delphi-Referenz durchsuchenTForm.OnActivate und Delphi-Referenz durchsuchenTForm.OnDeactivate an.

Susanne 23. Aug 2004 12:18

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Aber sind OnActivate und OnDeactivate nicht für die eigene Anwendung, dass etwas passieren soll, wenn mein Fenster aktiviert wird, also z.B. mit der Maus angeklickt wird?

Mein Fenster soll aber doch nur dann angezeigt werden, wenn eine andere Anwendung aktiviert wird. Und dann helfen mir diese beiden doch nicht, oder. So habe ich es jedenfalls verstanden.

dizzy 23. Aug 2004 12:22

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Na da hab ich wohl die letzten paar Wörter in deinem ersten Posting überlesen :oops: (TeronG bestimmt auch :))

Das verkompliziert die Sache natürlich ungemein. Da fällt mir dann leider auch nichts mehr zu ein... sorry.

Nikolas 23. Aug 2004 12:32

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Ich kenn mich bei dem Thema leider nicht ganz so gut aus, aber wenn ich das richtig verstanden habe, was ich hier gelesen hab, hat jedes Fenster ein eigenes Handle, also so ne Art ID. Du könntest in einem Timer immer mal wieder überprüfen, ob ein Fenster mit der richtigen Caption auf deinem Desktop sichtbar ist und dann dein Fenster ausrufen. Wie gesagt, ich hab damit noch nicht gearbeitet aber vielleicht kannst du die Idee mit dem Begriff überprüfen. :roll:

Susanne 23. Aug 2004 15:03

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
oder wie kann ich Form3 immer im Vordergrund anzeigen. Auch wenn ich andere Fenster anklicke, soll immer Form3 angezeigt werden, bis ich dort eben auf einen Button klicke.Ich rufe das Form3 aus der Unit2 aus.

Ich hab da SetWindowPos gefunden, aber irgendwie funktioniert das bei mir nicht so richtig.

Nikolas 23. Aug 2004 15:13

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Willst du Form3 auch vor allen anderen Anwendungen oder nur vor den Formularen deiner Anwendung?

Mit Form3.showmodal; öffnest du das Form so, dass es immer im Vordergrund deiner Anwendung ist und du die anderen deiner Forms nicht mehr bearbeiten kannst (Buttons klicken o.Ä.) bis es wieder geschlossen wird.

Shaman 23. Aug 2004 15:19

Re: Form sichtbar machen wenn andere Anwendung sichtbar
 
Hoi

Immer im Vordergrund geht mit
Delphi-Quellcode:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
Gruss
Shaman


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.
Seite 1 von 2  1 2      

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