AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Untermenü zur Laufzeit erzeugen

Ein Thema von eddy · begonnen am 6. Jul 2003 · letzter Beitrag vom 2. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#1

Untermenü zur Laufzeit erzeugen

  Alt 6. Jul 2003, 18:34
Hallo Leute,

weiß jemand, wie man ein Untermenü zur Laufzeit erzeugen kann?

Menü-Punkter erzeugen ist kein Problem, aber wie teile ich Delphi mit, daß der Menüeintrag ein Untermenü ist.

mfg
eddy
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#2

Re: Untermenü zur Laufzeit erzeugen

  Alt 6. Jul 2003, 19:21
hmm, du musst ihm das richtige ParentMenue zuordnen !
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#3

Re: Untermenü zur Laufzeit erzeugen

  Alt 6. Jul 2003, 20:58
Meinst du von einem PopupMenu oder einfach nur Tmenu?
Wenn ja probier das hier mal aus:
Delphi-Quellcode:
var
  NeuesMenuItem, NeuesSubmenue : TMenuItem;
begin
 NeuesSubmenue := TMenuItem.Create(Self);
 NeuesSubmenue .Caption := 'hallo';
 menuitem.Add(NeuesSubmenue);
//für Menu-Item einfach das Item auswählen, von dem NeuesSubmenue abhängen soll
end;
so in der Art dürfte es funktionieren. Ist ungetestet
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#4

Re: Untermenü zur Laufzeit erzeugen

  Alt 6. Jul 2003, 22:11
Hallo alexander,

danke, genau so legt man einen neuen Menüpunkt an.

Doch wie mache ich daraus dann ein Untermenü, welchem dann wieder Menüpunkte zugeordnet werden können?

@JoelH

ParentMenue ????

mfg
eddy
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Untermenü zur Laufzeit erzeugen

  Alt 6. Jul 2003, 23:12
Delphi-Quellcode:
  vsPopupAdd := TMenuItem.Create( ... );
  vsPopupAdd.Caption := 'Eintrag hinzufügen ...';
  vsPopup.Items.Add( vsPopupAdd );

  vsPopupAddGroup := TMenuItem.Create( AOwner );
  vsPopupAddGroup.Caption := '... Gruppe';
  ...
  vsPopupAdd.Add( vsPopupAddGroup );
Alles klar?
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6

Re: Untermenü zur Laufzeit erzeugen

  Alt 7. Jul 2003, 08:21
genau wie ich das oben gesagt habe??
Du musst nur für MenüITem das passendes MenuItem angeben?
Alexander
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: Untermenü zur Laufzeit erzeugen

  Alt 7. Jul 2003, 09:34
Ja, aber
- Dir wurde noch nicht geglaubt
- Doppelt hält besser
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#8

Re: Untermenü zur Laufzeit erzeugen

  Alt 7. Jul 2003, 18:14
klar hält doppelt besser...
war ja auch nicht böse gemeint. Wollte nur wissen was an meinem Code unverständlicher war.
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#9

Re: Untermenü zur Laufzeit erzeugen

  Alt 20. Jul 2003, 10:26
Hallo alexander & Tom,

vielen Dank für Eure Hilfe. Doppelt hält besser und letzt endlich habe auch ich es geschnallt.

Ein Menüpunkt wird automatisch zur Gruppe, wenn man den nächsten Menüpunkt dort hineinlegt.

Hier noch mein auf Euren Anweisungen basierender Testcode:

Delphi-Quellcode:
procedure TFTermin.BitBtn1Click(Sender: TObject);
var
  NeuesMenuItem,
  NeuesSubmenue : TMenuItem;
begin
  //Gruppe hallo anlegen
  NeuesSubmenue := TMenuItem.Create(self);
  NeuesSubmenue.Name := 'hallo1';
  NeuesSubmenue.Caption := 'hallo';
  // test2 vorhandener Menüpunkt TMenuItem
  test2.Add(NeuesSubmenue);

  //Menüpunkt hallo2 anlegen
  NeuesMenuItem := TMenuItem.Create(self);
  NeuesMenuItem.Name := 'hallo2';
  NeuesMenuItem.Caption := 'hallo eins tiefer';
  NeuesSubmenue.Add( NeuesMenuItem );
end;
mfg
eddy

[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#10

Re: Untermenü zur Laufzeit erzeugen

  Alt 9. Okt 2004, 22:16
Ich versuche gerade, die SubMenü-Einträge aus einer String-Liste zu erzeugen. Leider wird mir - aus mir unerklärlichen Gründen - eine "Menü zweimal vorhanden."-Fehlermeldung zurückgeworfen.

Delphi-Quellcode:
var NeuesMenuItem: TMenuItem;
    i:integer;
begin
  NeuesMenuItem := TMenuItem.Create(self);

  try
    for i:=0 to 1 do
    begin
      NeuesMenuItem.Name := 'Komponente_'+IntToStr(i);
      NeuesMenuItem.Caption := Accounts.Strings[i]; //Accounts ist eine StringListe

      AccountWaehlen.Add(NeuesMenuItem); //AccountWaehlen ist das SubMenü, in die die Accounts eingetagen werden sollen
    end;
  finally
    //
  end;
end;
Achim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:15 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