AGB  ·  Datenschutz  ·  Impressum  







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

Reihenfolge Menüeinträge für TMainMenu

Ein Thema von Hansa · begonnen am 21. Feb 2010 · letzter Beitrag vom 23. Feb 2010
Antwort Antwort
Seite 1 von 3  1 23      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 15:25
Hi,

habe hier diverse Forms, bei denen muss eine unterschiedliche Anzahl an TMainMenu-Items erzeugt werden. Deshalb wird das erst zur Laufzeit gemacht :

Delphi-Quellcode:
for i := 0 to ComponentCount - 1 do begin
...
  menu.Items.Add (NewItem);
...
So, das Menü ist da, aber die Einträge sind wie Kraut und Rüben durcheinander. Wie wird die Reihenfolge bestimmt ? Taborder ists offenbar nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 15:26
Also entweder direkt über Delphi-Referenz durchsuchenInsert oder mit Delphi-Referenz durchsuchenExchange (oder Delphi-Referenz durchsuchenMove )

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 15:32
Das Add ist also quasi ein Zufallsgenerator ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 15:36
Ach sorry, hab Deine Frage nicht ganz richtig gelesen.

Dann würde ich eher die Components[] Eigenschaft Deines Controls verantwortlich zeichnen, diese wird ja beim Entfernen und Hinzufügen von neuen Komponenten immer wieder geändert... da könntest Du dann ja mal mit den Nachforschungen ansetzen...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 15:48
Zitat von mirage228:
..wird ja beim Entfernen und Hinzufügen von neuen Komponenten immer wieder geändert...
Da wird NICHTS immer wieder geändert. Lediglich im Formcreate werden die Dinger erzeugt. Aber bisher in willkürlicher Reihenfolge.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 15:56
Zitat von Hansa:
Da wird NICHTS immer wieder geändert. Lediglich im Formcreate werden die Dinger erzeugt. Aber bisher in willkürlicher Reihenfolge.
Nö - in der Reihenfolge, wie die Komponenten im Components[] Array drinstehen. Das wird wahrscheinlich dieselbe sein, in der du die Komponenten aufs Formular getan hast ...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 16:02
Moin Hansa,

Du solltest mal ein bisschen mehr Code herausrücken.
Bei dem Bisschen kann ich den Fehler nicht reproduzieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 16:38
Die paar Zeilen sind kein Problem. Bzw. sie zu posten.

Delphi-Quellcode:
procedure TfrmMenue.FormCreate(Sender: TObject);
var i : Integer;
    c : TComponent;
    NewItem: TMenuItem;
begin
  inherited;
  men := TMainMenu.Create(self);
  for i := 0 to ComponentCount - 1 do begin
    c := Components [i];
    if c is TmyPanel then
      NeuerMenueEintrag (men,c as TmyPanel);
  end;
end;

procedure TfrmMenue.NeuerMenueEintrag (var men : TMainMenu;c : TmyPanel);
var NewItem : TMenuItem;
    i : Integer;
    st : string;
begin
  NewItem := TMenuItem.Create(men);
  NewItem.Caption := c.Caption;
  NewItem.Name := 'men' + copy (c.Name,4,length(c.Name));
ShowMessage(NewItem.Name+' '+IntToStr (c.TabOrder));
  NewItem.OnClick := c.OnClick;
  menu.Items.Add (NewItem);
end;
Vielleicht sieht ja einer was.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 16:48
Wo ist der Unterschied zwischen menu (letzte Zeile) und men (Parameter)? Vielleicht liegts ja daran...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 21. Feb 2010, 16:51
Ne, men= menu (Schreibfehler)
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 10:01 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