AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi MainMenu einträge automatisch erstellen lassn
Thema durchsuchen
Ansicht
Themen-Optionen

MainMenu einträge automatisch erstellen lassn

Ein Thema von Master_BB · begonnen am 4. Feb 2004 · letzter Beitrag vom 5. Feb 2004
Antwort Antwort
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

MainMenu einträge automatisch erstellen lassn

  Alt 4. Feb 2004, 17:46
Hy,
ich kriegs nicht so ganz hin das er MainMenu einträge automatisch während der laufzeit erstellt.
Dabei sollen Datensätze aus einer Typisiertendatei die Caption der neuen einträge sein.
Einträge sollen soviele wie Datensätze vorhanden sind erstellt werden.
Bisher siehts so aus:

Delphi-Quellcode:
 filename := ExtractFilePath(Application.ExeName)+genresfilename;
 assignfile(genrefile,filename);
 if fileexists(filename) then reset(genrefile) else rewrite(genrefile);
 for i := 1 to filesize(genrefile) do begin
  read(genrefile,genres[i]);
  Mainmenu1.Items.Items[3].Items[0].Add(Item.Tmenuitem);
 end;
 closefile(genrefile);
die erstellten Einträge sollen untereinträge von dem Items[0] sein.
Wenn mir jemand weiter helfen könnte wäre das sehr schön.

Greetz
Master_BB
  Mit Zitat antworten Zitat
Benutzerbild von CTV
CTV

Registriert seit: 20. Jan 2004
Ort: Zug CH
83 Beiträge
 
Delphi 7 Professional
 
#2

Re: MainMenu einträge automatisch erstellen lassn

  Alt 5. Feb 2004, 10:48
ich hab das für dich gefunden:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    label1: TLabel;
    MainMenu1: TMainMenu;
    Fonts1: TMenuItem;
    procedure Fonts1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations } 
  public
    { Public declarations } 
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} 

procedure TForm1.Fonts1Click(Sender: TObject);
begin
  if Sender Fonts1 then
    label1.Caption := (Sender as TMenuItem).Caption;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  NewItem: TMenuItem;
  i: Integer;
begin
  for i := 0 to Screen.Fonts.Count - 1 do
  begin
    // Create a new Menu Item
    // Neuen Menüpunkt erzeugen
    NewItem := TMenuItem.Create(Self);
    // Take the Font name as Caption
    // Den Schriftnamen als Caption festlegen
    NewItem.Caption := Screen.Fonts.Strings[i];
    // Assign a OnClick-Event
    // Ein OnClick-Ereignis zuweisen
    NewItem.OnClick := Fonts1Click;
    // Add the new menu
    // Den neuen Menüpunkt hinzufügen
    Fonts1.Add(NewItem);
  end;
end;
Greetz Cyrus
Wer glaub er ist, hört auf zu werden!
Delphi Rulez!!!
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#3

Re: MainMenu einträge automatisch erstellen lassn

  Alt 5. Feb 2004, 14:45
geil nen bissle umgeändert hauts hin THX
jedoch gibts jetzt nen neues Problem mit den Proceduren der OnClickereignisse.

Delphi-Quellcode:
 for i := 1 to filesize(genrefile) do begin
  read(genrefile,genres[i]);
  NewItem := TMenuItem.Create(self);
  NewItem.Caption := genres[i].name;
  NewItem.OnClick := genre21Click;
  Mainmenu1.Items.Items[3].Items[1].Add(NewItem);
 end;
Und zwar kann ich beim OnClick Event der automatisch erstellten Items, kein bezug zu einer Filterfunktion herstellen. Wenn ich sie dort aufrufen lasse mit Parameterübergabe funktioniert es nicht. Also hatte ich die "genre21Click" procedure erstellt die leider kein parameter hat (mit würde sie auch nicht gehen). So nun weiß ich nicht wie ich es anstelle das je nach dem welches automatisch erstelltes item geklickt wird ein anderer Parameter an meine Filterfunktion geht.
Einen ItemIndex hat MainMenu anscheinend nicht.
  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 08:44 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