AGB  ·  Datenschutz  ·  Impressum  







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

TadvMainMenu

Ein Thema von Walter Landwehr · begonnen am 4. Okt 2014 · letzter Beitrag vom 5. Okt 2014
Antwort Antwort
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
395 Beiträge
 
Delphi 10.4 Sydney
 
#1

TadvMainMenu

  Alt 4. Okt 2014, 10:39
Hallo,

Kann mir einer sagen wie ich zur Laufzeit Untermenü punkte im TadvMain Menu erzeuge.

Delphi-Quellcode:
  AdvMenu.BeginUpdate;
  While not BausteineQry.Eof do
  begin
     item := TMenuItem.Create(Self);
    Item.Caption := BausteineQry.FieldByName('Suchwort').AsString;
    Item.OnClick := InsertTextbaustein;
    AdvMenu.Items[3].Insert(7,Item); ----------> Hier musß ein Problem sein
    BausteineQry.Next;
  end;
  AdvMenu.EndUpdate;
Der obige Code fügt zwar Menuüunkte ein abder keine Submenüs.

Vielen Dank schon mal für die Hilfe.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
zeras
Online

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#2

AW: TadvMainMenu

  Alt 4. Okt 2014, 11:34
Bei einem normalen Menu musst du einfach den Namen des Punktes übergeben, welches der Ausgangspunkt des Untermenus sein soll. Das müsste bei TMS auch so sein.
Bei mir sieht das so aus:

        NewItem := TMenuItem.Create(NamedesMenuüunktes); //<-- hier kein self
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
395 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TadvMainMenu

  Alt 4. Okt 2014, 12:20
Hallo,

hab ich mal abgeändert, mit dem gleichen Ergebnis. Es werden immer Menu punkte aber keine Submenüpunkte erstellt.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
zeras
Online

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#4

AW: TadvMainMenu

  Alt 4. Okt 2014, 12:48
Mit TMS geht es auch bei mir nicht.
Dann vielleicht in den Newsgroup von TMS nachfragen.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#5

AW: TadvMainMenu

  Alt 4. Okt 2014, 22:11
Hallo,

Zitat:
Kann mir einer sagen wie ich zur Laufzeit Untermenü punkte im TadvMain Menu erzeuge
Delphi-Quellcode:
  [...]
  AdvMenu.Items[3].Insert(7,Item);
Der obige Code fügt zwar Menuüunkte ein abder keine Submenüs
Was willst Du den eigentlich erreichen?

Soll Deine Menüstruktur in etwa so aussehen?
Code:
Datei | Bearbeiten | Ansicht | Textbausteine       <-- AdvMenu.Items [3]
                                Neu...             <-- AdvMenu.Items [3].Items [0]
                                Öffnen...          <-- AdvMenu.Items [3].Items [1]
                                Löschen...         <-- AdvMenu.Items [3].Items [2]
                                Organisieren...    <-- AdvMenu.Items [3].Items [3]
                                Reorganisieren...  <-- AdvMenu.Items [3].Items [4]
                                Zerlegen...        <-- AdvMenu.Items [3].Items [5]
                                Zusammenführen...  <-- AdvMenu.Items [3].Items [6]
                                                   <-- hier was einfügen ??
Oder sollte es in etwa so aussehen:
Code:
Datei | Bearbeiten | Ansicht | Extras                <-- AdvMenu.Items [3]
                                Extra (0)
                                Extra (1)
                                Extra (2)
                                Extra (3)
                                Extra (4)
                                Extra (5)
                                Extra (6)
                                Textbausteine        <-- AdvMenu.Items [3].Items [7]
                                  Textbaustein (0)   <-- ab hier was einfügen ??
                                  Textbaustein (1)
Wenn ich Deinen Post richtig interpretiere, dann möchtest Du etwas wie in Variante II erreichen - oder(?) -, und: Dann,
Delphi-Quellcode:
  AdvMenu.BeginUpdate;
  While not BausteineQry.Eof do
  begin
    [...]
    AdvMenu.Items[3].Insert(7,Item); ----------> Hier musß ein Problem sein
    [...]
  end;
  AdvMenu.EndUpdate;
hast Du das schon richtig erkannt.

Es könnte:
Delphi-Quellcode:
  AdvMenu.BeginUpdate;
  While not BausteineQry.Eof do
  begin
    [...]
    AdvMenu.Items [3].Items [7].Add (Item);
    [...]
  end;
  AdvMenu.EndUpdate;
in die richtige Richtung gehen.

Allerdings würde ich auf die hardcodierten Indizes verzichten und die Referenz des entsprechende Menüpunkts zur Laufzeit ermitteln; also irgendwie so:
Delphi-Quellcode:
procedure TForm.AddTextBlockItems;
var
  p : TMenuItem;
begin
  p := GetTextBlockMainItem;
  AdvMenu.BeginUpdate;
  try
    while not BausteineQry.Eof do
      begin
        item := TMenuItem.Create (nil);
        item.Caption := BausteineQry.FieldByName('Suchwort').AsString;
        item.OnClick := InsertTextbaustein;

        p.Add (Item);

        BausteineQry.Next
      end
  finally
    AdvMenu.EndUpdate
  end
end;
Aber, das ist alles stochern im Nebel. Vielleicht bringst Du mal etwas Licht (Erläuterung, Screenshot, etc.) in die Geschichte.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
395 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TadvMainMenu

  Alt 5. Okt 2014, 10:18
Danke Volker,

diese Zeile war der entscheidende Tipp:

AdvMenu.Items [3].Items [7].Add (Item);

Nun funktioniert alles richtig.
Walter Landwehr
Mfg

Walter
  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 18:09 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