Есть компонент TMainMenu в котором меню реализованы сразу. а субменю заполняются динамически при запуске программы. Caption для них берутся из ini-файла. Эта часть вопросов не вызывает. Также естественно нормально можно привязать событие OnClick к готовым меню, но как обрабатывать это OnKlick на динамически созданых субменю, как узнать какой пункт субменю был выбран???
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
MenuItem :TMenuItem;
ParentItem :TMenuItem;
Di : integer;
begin
sPath := 'c:\temp\test\info.ini'; //файл с настройками
IniFile := TIniFile.Create(sPath);
// в фале info.ini в секции "Values" данные о количестве элементов
Di:=IniFile.ReadInteger('Values','marka',0);
for i:=1 to Di do
begin
MenuItem :=TMenuItem.Create(ParentItem);
mmMarka.Add(MenuItem);
MenuItem.Caption :=IniFile.ReadString('marka',IntToStr(i),'');
end;
IniFile.Free;
end;