Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   kleines menü problem (https://www.delphipraxis.net/20485-kleines-menue-problem.html)

KoRn117 18. Apr 2004 21:23


kleines menü problem
 
hi!

ich will in meinem menü überprüfen, ob ein haken (es ge-checked) ist.

ich hatte mir das folgendermaßen gedacht:

ich suche mir den eintrag (das item) und schaue nach, ob es ge-checked ist, aber da hackt es...

...seht es euch an...

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var MenuINIfile : TMenuItem;
begin

MenuINIfile := menu.Items.Find('INI beim beenden schreiben');

if MenuINIfile<>nil then
  begin
  if MenuINIfile.Checked then
    begin
    // jetzt ini schreiben!!!
    showmessage('asf');
    end;
  end;
end;
es geht so leider nicht. könnt ihr mir helfen ?

bestimmt! :mrgreen:

danke

mfg

korn117

neolithos 18. Apr 2004 21:31

Re: kleines menü problem
 
Da du wahrscheinlich AutoHotKeys auf Automatic stehen hast. Wird in die Zeichenkette ein & eingefügt. Dadurch wird der Eintrag wahrscheinlich nicht gefunden.

Zu jeden MenuItem wird doch eigentlich eine Variable angelegt. Warum prüfst du nicht die Checked-Eigenschaft jener? Wäre doch nicht so umständlich!

KoRn117 18. Apr 2004 21:33

Re: kleines menü problem
 
das mit dem & stimmt meiner meinung nach nicht, denn das tut glaube nichts zur sache, wenn ich die hilfe richtig gelesen habe.

wie meinst du das(mit der variablen)?

danke!

Markus K. 18. Apr 2004 21:48

Re: kleines menü problem
 
Hallo KoRn117,
ich glaube es funzt deshalb nicht, weil du nur in den Items des MainMenu suchst und nicht in den SubItems. Wenn du in dem entsprechenden Menu z.B. Datei suchst müsste es gehen.
Beispiel:
Delphi-Quellcode:
var MenuINIfile:TMenuItem;
begin
     MenuINIfile:=TMenuItem.Create(Menu);
     MenuINIfile:=Datei1.Find('Neu');
     if MenuINIfile.Checked then ShowMessage('Funktioniert') else ShowMessage('Funktioniert nicht');
end;
Tschüß Markus

Markus K. 18. Apr 2004 22:01

Re: kleines menü problem
 
Hier ist noch eine andere Möglichkeit, welche alle Items des MainMenu durchsucht.
Delphi-Quellcode:
var MenuINIfile:TMenuItem;
    Lauf:Integer;
begin
     MenuINIfile:=TMenuItem.Create(MainMenu1);
     for Lauf:=0 to MainMenu1.Items.Count-1 do
     begin
          MenuINIfile:=MainMenu1.Items.Items[Lauf].Find('Neu');
     end;
     if MenuINIfile.Checked then ShowMessage('..') else ShowMessage('..');
end;
Tschüß Markus

neolithos 18. Apr 2004 22:13

Re: kleines menü problem
 
Zitat:

Zitat von KoRn117
1. das mit dem & stimmt meiner meinung nach nicht, denn das tut glaube nichts zur sache, wenn ich die hilfe richtig gelesen habe.

2. wie meinst du das(mit der variablen)?

zu 1. Das simmt!

zu 2.

Wenn ich zum Beispiel ein MenuItem anlege wird automatisch eine Variable angelegt.

Delphi-Quellcode:
type
  TForm1 = class
    menuMain : TMainMenu;
    mnuFile : TMenuItem; // Datei
    mnuFileExit : TMenuItem; // Beenden
  ...
Delphi-Quellcode:
menuFileExit.Checked := true;

KoRn117 18. Apr 2004 22:26

Re: kleines menü problem
 
ah danke, dass könnte klappen

Markus K. 18. Apr 2004 22:35

Re: kleines menü problem
 
@neolithos wie KoRn117 schon richtig gesagt hatte tut das & in der Caption wirklich nichts zur Sache, das wird von der Methode Find nicht beachtet

Tschüß Markus


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