![]() |
ShowHint -> Form nach hinten
Hi,
ich habe eine Anwendung, die eine zweite Form öffnet (.show). Dieser Form habe ich einen eigenen Taskbareintrag spendiert:
Delphi-Quellcode:
Funktioniert auch wunderbar. Beide Fenster lassen sich aktivieren.
procedure TForm2.CreateParams(var Params : TCreateParams);
begin inherited CreateParams(Params); Params.WndParent := GetDesktopWindow; Params.Caption := 'Test'; end; Nun zum Problem: Wenn ich in der zweiten Form einen SpeedButton mit einem Hint versehe, wird immer wenn dieser Hint angezeigt wird die erste Form aktiviert und ggf. vor die zweite Form gelegt. Setzte ich die Eigenschaft ShowHint des SpeedButtons auf False, oder nehme ich die Procedure CreateParams wieder raus, ist der Spuk vorbei. Hat da jemand eine Erklährung für? |
Re: ShowHint -> Form nach hinten
Blindschuß: ich vermute GetDesktopWindow liefert zum Zeitpunkt des CreateParams nicht Die 2. Form zurück (die ist noch nicht created) sondern die 1. Form
wie gesagt - nur so'n Gefühl... |
Re: ShowHint -> Form nach hinten
Das ist schon gut möglich.
Im weiteren Verlauf habe ich festgestellt, das bei InputDlg() genau das gleiche passiert. Das heißt die MainForm wird aktiviert. Stellt sich jetzt nur die Frage, wie kann ich das verhindern. Ich will Fenster erzeugen, die einen eigenen Taskbareintrag haben, aber mit Show angezeigt werden (nicht mit ShowModal), so daß ich beide über die Taskbar aktivieren kann. |
Re: ShowHint -> Form nach hinten
Zitat:
Hi .. ich mach Dir wenig Hoffnung, ich hab das Problem schon länger, und konnte bisher keine Lösung dafür finden. In einem anderen Bereich konnte ich das Problem lösen. Dieses dämliche Problem tritt auch auf, wenn Du von form2 aus ein drittes Form mit show aufrufst. Aber nur in einer bestimmten Konstellation. Wenn nämlich ein völlig anderes Programm in Windows gerade aktiv war. Du auf die Taskleiste drückst um Form2 aufzurufen, und in diesem dann ein drittes Form mit show aufrufst. dann Schiebt sich nervigerweise das Hauptform davor ! Das Problem ist die Parent Eigenschaft des dritten Fensters, oder in Deinem Fall das Parent des HINTS ! In dem Fall des Forms ist es lösbar wenn Du vor dem show noch form3.parent := self; umbiegst ( auf das Form2) Der Nachteil ist aber, dass sich das nur für kleine Fenster eignet, da das FEnster dann Form2 nicht mehr "verlassen" kann. Für größere "richtige" Form weiss ich nicht, wie man das lösen kann. Das Parent des Hints ist aber immer irgendwie application. Jemand gab mir den Rat, dass es irgendwie mit dem TapplicationEvents Object lösbar wäre. Aber ich konnte es nicht rausfinden durch probieren. Wenn Du eine Lösung gefunden hast, dann melde Dich bitte mal :-) |
Re: ShowHint -> Form nach hinten
hat jemand zu dem Problem schon eine Lösung gefunden?
Meine momentane Idee wäre das anzeigen des Hints zu unterbinden und in selber zu zeichnen ... Edit: ich glaub ich hab was gefunden: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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