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 SetParent Probleme (https://www.delphipraxis.net/68853-setparent-probleme.html)

toms 6. Mai 2006 19:35


SetParent Probleme
 
Hallo

Ich setze eine FormX per Windows.SetParent() auf meine MainForm.

Nun habe ich folgende leidige Probleme:

1) Hints werden in der FormX nur dann angezeigt, wenn die FormMain den Focus hat.

2) Die FormX habe den Focus und die MainForm wird minimiert.
Wenn nun der Taskbar Button anklickt wird, wird die FormMain nicht angezeigt.
Erst wenn man ca. 3 Mal darauf geklickt hat.

3) Die Application erscheint nicht mehr in der "Alt+Tab" Liste.


Kennt jeman Workaround dafuer? (insbesondere fuer Punkt 1)

Danke!

SirThornberry 6. Mai 2006 19:37

Re: SetParent Probleme
 
ich glaub für sowas ist das MDI gedacht.

toms 6. Mai 2006 19:50

Re: SetParent Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
MDI geht in meinem Fall glaub nicht, da es so aussehen sollte wie im angehaengten Screenshot.
Insbesondere das Mainmenu sollte dort erscheinen wo es ist und nicht ganz oben.

toms 6. Mai 2006 19:55

Re: SetParent Probleme
 
fuer Problem 2) habe ich folgende Loesung herausgefunden:

Delphi-Quellcode:
procedure TForm3.WMNCACTIVATE(var Msg: TWMNCACTIVATE);
begin
  if Msg.Active and IsIconic(MainForm.Handle) then
    SetForegroundWindow(MainForm.Handle);
  inherited;
end;
Bleiben also nur noch 1 + 3

Hawkeye219 7. Mai 2006 00:12

Re: SetParent Probleme
 
Hast du schon einmal über den Einsatz von Frames nachgedacht?

Gruß Hawkeye

toms 7. Mai 2006 01:22

Re: SetParent Probleme
 
Ist es denn mit TFrames moeglich, das Mainmenu - wie im Screenshot abgebildet - zu haben?

Sharky 7. Mai 2006 07:04

Re: SetParent Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hai toms,

ich hoffe das ich das richtig verstanden habe. Du möchtest eine FormX fest in deine Mainform einbinden?
Um das Menü an der richtigen Stelle, nämlich auf der FormX, zu haben solltest Du einfach eine Toolbar auf diese Form legen und bei deren Property Menue das MainMenü der Form eintragen.

Ich mache das ganze in dem Beispiel nicht mit SetParent. Ich sage schon beim erzeugen der FormX aus der Mainform heraus das ihr Parent ein Panel der Mainform ist.

Du kannst dir das ja mal ansehen. Eventuell ist es etwas für dich.

toms 7. Mai 2006 08:12

Re: SetParent Probleme
 
Hallo Skarky

Danke fuer deine Beispiel. War gestern um 3 Uhr auch noch darauf gekommen, es so zu machen.
Habe jedoch dafuer die TMenuBar Komponente genommen, bei welcher man einer TToolBar auch ein TMainMenu yuweisen kann.

Folgerung:

1) SetParent nicht verwenden, sondern nur Komp.Parent := OtherKompo;
und
2) "eine Toolbar auf diese Form legen und bei deren Property Menue das MainMenü der Form eintragen"


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