AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi MenuItems hinzufügen und mit OnClick ausrüsten
Thema durchsuchen
Ansicht
Themen-Optionen

MenuItems hinzufügen und mit OnClick ausrüsten

Ein Thema von daniel8520 · begonnen am 3. Jul 2004 · letzter Beitrag vom 27. Mär 2006
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Re: MenuItems hinzufügen und mit OnClick ausrüsten

  Alt 27. Mär 2006, 15:36
Hallo, hatte auch mal so eine Funktion brauchen müssen und habe das folgendermaßen gelöst.

Ich erstelle aus einer Liste alle Menüeinträge an eine bestimmte Position:

Delphi-Quellcode:
  s := TStringList.Create;
  ico := TIcon.Create;
  try
    ini.ReadSections(s);
    for i := 0 to s.Count - 1 do
    begin
      MItem := TMenuItem.Create(nil);
      MItem.Caption := s.Strings[i];
      MItem.Name := MItem.Caption;
      ico.LoadFromFile(myIcon);
      MItem.ImageIndex := ImageList.AddIcon(ico);
      anz := MainMenu1.Items.Items[1].Items[0].Count;
      MainMenu1.Items.Items[1].Items[0].Insert(anz, MItem);
      MainMenu1.Items.Items[1].Items[0].Items[0].OnClick := MenuItem.OnClick;
    end; // for i:=0...
  finally
    s.Free;
    ico.Free;
  end;
Wie man im Code sieht weise ich dem neu erstellten Item ein bestimmtes OnClick-Ereignis zu. Das bezieht sich auf den folgenden Menupunkt.
Im Menü habe ich einen Eintrag erstellt, auf invisible gesetzt und dort ein OnClick-Ereignis erstellt, in dem ich dann unterschiedliche Funktionen ausführe, die der einzelne Menüpunkt ausführen soll. Dort überprüfe ich nach der Caption des Eintrags welche Funktion ausgeführt werden soll.

Delphi-Quellcode:
  myLang := (Sender as TMenuItem).Caption;
  if myLang = 'Germanthen
  ...
Das funktioniert wunderbar und ich kann den Sender bzw. den Menüpunkt abfragen welcher gerade das Onlick-Ereignis ausgeführt hat.
Hoffe das hilft dir weiter.

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 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