![]() |
Form aktiv setzen, obwohl Fokus auf anderer Form liegt
Ich glaube, dass ich im Titel schon ausreichend Information gegeben habe ;) Und zwar habe ich eine Form, die ich aktiv setzen will, also so, als ob diese den Fokus hat, obwohl eine andere Form gerade den Fokus besitzt.
Ich weiß, dass sich das zunächst sehr komisch anhört, aber hier etwas zum Hintergrund: Ich habe eine semitransparenten Overlay programmiert, welches sich genau über diese eine Form legt -- z.B. ein Ladebildschirm oder ein Login. So liegen dann zwei Forms übereinander. Nun ist es aber so, dass wenn ich dem Overlay den Fokus gebe, dann wird der Schatten (unter Windows 7) der eigentlichen Form deaktivert, was ich aber nicht unbedingt will. Es soll so aussehen, als ob das Overlay-Fenster ein Bestandteil der eigentlichen Form ist. |
AW: Form aktiv setzen, obwohl Fokus auf anderer Form liegt
Ich mach das, indem ich einen Panel auf das Hauptformular lege, auf dem dann der Login stattfindet. Nach dem Login verschwindet das Panel.
Einen Splash zeige ich, bevor das Hauptfenster sichtbar ist. Im OnActivate des Hauptfensters starte ich einen Timer, der mir den Splash nach weiteren 500-schiessmichtot-Millisekunden entfernt. Mir reicht das. |
AW: Form aktiv setzen, obwohl Fokus auf anderer Form liegt
Die Nachricht
![]() |
AW: Form aktiv setzen, obwohl Fokus auf anderer Form liegt
Delphi-Quellcode:
und vice versa
procedure TForm2.FormActivate(Sender: TObject);
begin DefWindowProc(Form1.Handle,WM_NCACTIVATE,-1,0); end; |
AW: Form aktiv setzen, obwohl Fokus auf anderer Form liegt
Vielleicht ist auch das einbetten der SubForm irgendwie hilfreich?
Delphi-Quellcode:
Ein evtl. Mainmenü würde damit jedoch sicher nicht überdeckt werden.
SubForm.ManualDock(MainForm, nil, alNone);
// SubForm.Align := alClient; SubForm.Show; |
AW: Form aktiv setzen, obwohl Fokus auf anderer Form liegt
@stahli: Das einbetten funktioniert leider nicht, da ich dann AlphaBlendValue nicht mehr nutzen kann. Ich kann es zwar setzen, aber es keinerlei Auswirkungen.
@Blup, Bummi: Danke, das ist die Nachricht/der Code den ich gesucht hatte :thumb: Muss ich das eigentlich auch wieder rückgängig machen? @alzaimar: Jo, diese Lösung schwebte mir auch vor, allerdings will ich mal versuchen einen schönen Overlay zu programmieren, der ein- und ausfadet :) Sowas ist im Web weit verbreitet, allerdings wohl auch aufgrund der Tatsache, dass man da nicht unbedingt x Fenster öffnen will. |
AW: Form aktiv setzen, obwohl Fokus auf anderer Form liegt
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 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