Pytanie to : jak rozpoznać , który został wybrany items (qwer) po kliknięciu???
Tworze sobie dynamicznie belkę menu :
type
wybierz = record
menu : TmenuItem;
nazwa : String;
end;
var
inter : array[1..128] of wybierz;
internet:byte;
Konfiguracja:textfile;
...
procedure TForm1.FormCreate(Sender: TObject);
var
i,www:word;
sr:Tsearchrec;
Begin
if FindFirst(ExtractFileDir(Application.ExeName)+'\internet.txt', faAnyFile, sr)=0 then
begin
assignfile(konfiguracja,(ExtractFileDir(Application.ExeName)+'\cenniki\internet.txt'));
reset(konfiguracja);
internet:=0;
while not Eof(konfiguracja) do
begin
internet:=internet+1;
readln(konfiguracja,nazwa);
if internet<129 then
begin
inter[internet].nazwa:=nazwa;
inter[internet].menu:=TMenuItem.Create(Self);
if (internet=33) then inter[internet].menu.Break:=mbBarBreak;
if (internet=65) then inter[internet].menu.Break:=mbBarBreak;
if (internet=97) then inter[internet].menu.Break:=mbBarBreak;
www:=0;
for i:=1 to length(nazwa) do if nazwa[i]='\' then www:=i;
if www>0 then delete(nazwa,1,www);
inter[internet].menu.Caption:=nazwa;
inter[internet].menu.OnClick:=Internet1Click;
inter[internet].menu.Tag:=internet;
MainMenu1.Items[1].Add(inter[internet].menu);
end;
end;
closefile(konfiguracja);
end
else
begin
inter[1].menu:=TMenuItem.Create(Self);
inter[1].menu.Caption:='Brak pliku : INTERNET.TXT';
MainMenu1.Items[6].Add(inter[1].menu);
end;
FindClose(sr);
if internet>128 then internet:=128;
end;
procedure TForm1.Internet1Click(Sender: TObject);
var
qwer:byte;
begin
ShellExecute(Handle,'open',Pchar(inter[qwer].nazwa),nil,nil,SW_SHOWNORMAL);
end;
Z góry dzięki dla życzliwych (D4).