Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Menüeinträge während das Programm läuft hinzufügen (https://www.delphipraxis.net/8257-menueeintraege-waehrend-das-programm-laeuft-hinzufuegen.html)

magoo2002de 1. Sep 2003 09:46


Menüeinträge während das Programm läuft hinzufügen
 
Hallo,
ich habe in meinem Programm ein Hauptmenü-Eintrag namens 'Templates'. Darunter befindet sich ein Eintrag 'Standard' und ein Break. Nun wird bei CreateForm die unten stehende Prozedur aufgerufen. Es soll nun für jede Datei, die durch die Prozedur gefunden wird ein weiterer Eintrag im Menü hinzugefügt werden. Es soll dann so aussehen, wie es in diesem Screenshot aussieht.

Delphi-Quellcode:
procedure TMainForm.GetTemplates(Sender: TObject);
var
 I: Integer;
 AppName, AppVersion: String;
 Ini: TiniFile;
begin
 FileListBox1.Directory := MyPath+'Templates\';
  for I:=0 to FileListBox1.Items.Count-1 do
   Ini:=TIniFile.Create(MyPath+'Templates\'+FileListBox1.Items.Strings[I]);
    try
     AppName := Ini.ReadString('Info','Program','');
     AppVersion := Ini.ReadString('Info','Version','');
    finally
     Ini.Free;
    end;
   if (Appname='58745521456') and (AppVersion='1.0') then
    begin
     //Hier sollte dann die Menü-Einträge erstellt werden...
    end;
end;
Ich hoffe, das mir jemand dabei helfen kann. Ich habe hier zwar schon im Forum gesucht, aber irgendwie hab ich nicht das Richtige gefunden. Oder ich habe es gefunden, aber nicht so richtig verstanden.
Vielen Dank schon mal für euere Hilfe.

neolithos 1. Sep 2003 09:54

Re: Menüeinträge während das Programm läuft hinzufügen
 
TMenuItem hat eine Funktion Names Add und eine Eigenschaft Items, Count.

Das sollte eigentlich reichen, für eigene Nachforschungen.

orion3000 1. Sep 2003 10:10

Re: Menüeinträge während das Programm läuft hinzufügen
 
Hallo versuchsmal mit folgenden Code:

Delphi-Quellcode:
Private
Procedure ClickDatei(Sender:tobject);

var  NewItem: TMenuItem;


if (Appname='58745521456') and (AppVersion='1.0') then
begin
    NewItem := TMenuItem.Create(Self);
    NewItem.Caption:='Datei 1';
    newitem.OnClick:= ClickDatei; /// Zur Laufzeit OnClick hinzufügen
    "Dein-menü".Add(NewItem);   ///  Zum Menü hinzufügen
end;

/// Hier das OnClick

Procedure TMainForm.ClickDatei(Sender:tobject);
 begin
 
  with Sender as TMenuItem do
  begin
  Showmessage(Caption);
  End;
End;

Gruß
Orion3000

Luckie 1. Sep 2003 10:47

Re: Menüeinträge während das Programm läuft hinzufügen
 
Hier http://www.luckie-online.de/files/demos/ findest du das Demo mru-list.zip welchens immer die zuletzt geöffneten Dateien an ein Menü hängt.

magoo2002de 1. Sep 2003 11:12

Re: Menüeinträge während das Programm läuft hinzufügen
 
Erst einmal vielen Dank für eure Vorschläge und Lösungen. Ich werde sie gleich einmal ausprobieren!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 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