Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MainMenu Items deaktivieren MDI Anwendung (https://www.delphipraxis.net/12385-mainmenu-items-deaktivieren-mdi-anwendung.html)

Natalia 26. Nov 2003 12:24


MainMenu Items deaktivieren MDI Anwendung
 
Hallo Leute, :-D

ich habe eine MDI Anwendung und möchte die
Menu Items im Main Menu deaktivieren solange
ein Child Fenster, das beim aktivieren von
diesem Menuitem createt wird, aktiv ist.

Die Menupunkte kann ich natürlich vom Child-
fenster nicht ansprechen.
Hat vielleich jemand eine Lösung?

Vielen Dank schon mal für alle Vorschläge :-D
Natalia

Natalia 26. Nov 2003 14:54

Re: MainMenu Items deaktivieren MDI Anwendung
 
Mit diesem Code wird der MenuItem komischerweise immer deaktiviert
obwohl Form1 nicht active ist :?:

procedure TMainForm.FormShow(Sender: TObject);
begin
if ActiveMDIChild=Form1 then MenuItem1.Enabled:=false;
end;

andianon 2. Dez 2003 14:26

Re: MainMenu Items deaktivieren MDI Anwendung
 
Ich hoffe, ich hab das richtig verstanden: Wenn Fenster aktiv, Menüpunkt aus, sonst an.

In der OnClick-Routine des Menüs (z.B: Menü mnBearbeiten mit dem Menüpunkt mniMyMenuItem):

Delphi-Quellcode:

procedure TfMain.mnBearbeitenClick(Sender: TObject);
var
  mdiChild : TForm;
begin
  // Aktives MDI-Fenster ermitteln
  mdiChild := self.ActiveMDIChild;
  // Wenn es ein aktives MDI-Fenster gibt,...
  if Assigned(mdiChild) then begin
    // Wenn das aktive MDI-Fenster das meinige ist,...
    if mdiChild = fMyForm then
      mniMyMenuItem.Enabled := FALSE
    // Wenn das aktive MDI-Fenster nicht das meinige ist,...
    else
      mniMyMenuItem.Enabled := TRUE;
  end;
  ...
end


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