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 MainMenu und Frames (https://www.delphipraxis.net/211726-mainmenu-und-frames.html)

TomyN 27. Okt 2022 11:12

MainMenu und Frames
 
Eigentlich ist es ganz einfach:
Ich habe eine VCL Anwendung für windows, mit einem TMainMenu und einem Panel.
Auf das Panel setze ich, je nach Auswahl, unterschiedliche TFrames (diese enthalten kein TMainMenu)
Nach dem Start ist alles okay, aber sobald ich einen anderes Frame auf das Panel setze, verschwindet das MainMenu :-(
Gibt es da einen Haken / eine Konfiguration mit der man das steuern kann?


Tomy (gerade etwas ratlos)

peterbelow 27. Okt 2022 17:57

AW: MainMenu und Frames
 
Zitat:

Zitat von TomyN (Beitrag 1513939)
Eigentlich ist es ganz einfach:
Ich habe eine VCL Anwendung für windows, mit einem TMainMenu und einem Panel.
Auf das Panel setze ich, je nach Auswahl, unterschiedliche TFrames (diese enthalten kein TMainMenu)
Nach dem Start ist alles okay, aber sobald ich einen anderes Frame auf das Panel setze, verschwindet das MainMenu :-(
Gibt es da einen Haken / eine Konfiguration mit der man das steuern kann?

Das sollte nicht passieren wenn Du nicht irgendwo in deinem Kode die Menu-Eigenschaft des Forms auf nil setzt. Frames haben nichts mit dem Menu zu tun.

BigAl 28. Okt 2022 06:59

AW: MainMenu und Frames
 
Ich mache hier eigentlich so ziemlich das gleiche. Funktioniert problemlos.

Vielleicht könntest Du mal ein bisschen von Deinem Code zeigen. Dann könnte man evtl. sehen wo es her kommt.

Interessant sind eigentlich zwei Stellen:

1. Wie gibst Du den alten Frame frei.
2. Wie integrierst Du den neuen Frame (Parent := ...)

TomyN 28. Okt 2022 08:35

AW: MainMenu und Frames
 
Delphi-Quellcode:
 if pLeftArea.CanFocus then begin
     hfft.parent := pLeftArea;
     hfft.Align := alClient;
   end;
   hfft.initfft;
   hfft.startfft;
   hfft.Show;
   pLeftArea.Show;
Delphi-Quellcode:
  pLeftArea.Hide;
  if assigned(hfft) then begin
    hfft.finishFFT;
    freeAndNil(hfft);
  end;

BigAl 28. Okt 2022 09:13

AW: MainMenu und Frames
 
Aus dem gegebenen Code kann ich da jetzt nichts erkennen, was das Main-Menu beeinflussen würde. Was mir allerdings auffällt ist, dass Du "CanFocus" verwendest und später dann "Show" machst. Ist pLeftArea.Visible = False (nach pLeftArea.Hide), dann ist auch pLeftArea.CanFocus = False. In dem Fall wird dann Parent nicht korrekt gesetzt...

TomyN 28. Okt 2022 12:27

AW: MainMenu und Frames
 
Schande über mich....
Ich hab zwar in der IDE nach .Menu etc. gesucht, aber ein .Menu:= nil ist mir trotzdem irgenwie entgangen.
Jetzt ist es draußen und alles funktioniert wie es soll....

Danke für den Tip mit dem CanFocus

Tomy


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 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 by Thomas Breitkreuz