Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Ereignisse für dynamisch erzeugte TMenuItems


a.C.k - Do 16.01.03 13:33
Titel: Ereignisse für dynamisch erzeugte TMenuItems
Hallo,
ich lasse mir TMenuItems createn. Die Anzahl der der Items muss dynamisch sein.

Das ganze klappt auch.

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var strBuf: String;
    intBuf, i: Integer;
    arrHistoriesMaxView : array of TMenuItem;
begin
  pmHistory.Items.Clear;
  GetRegValue(intBuf, 'Histories', 'HisteriesMax');
  SetLength(arrHistoriesMaxView, intBuf);
  For i:= 0 to intBuf-1 do
  begin
    arrHistoriesMaxView[i] := TMenuItem.Create(pmHistory);
    pmHistory.Items.Add(arrHistoriesMaxView[i]);
    GetRegValue(strBuf, 'Histories', 'Projekt'+(inttostr(i)));
    arrHistoriesMaxView[i].Caption := strBuf;
  end;
end;


Nun möchte ich aber auch zu jedem MenuItem ein OnClick-ereignis erstellen.
Der Auszuführende Code wird für jedes Item Gleich sein, da ich die entscheidenden Parameter aus der Caption ziehen möchte.

Aber wie kann ich die Ereignisse dynamisch erzeugen?


Klabautermann - Do 16.01.03 14:57

Hallo,

in diesem Topic [http://www.auq.de/viewtopic.php?t=5617] stellte sich das Problem auch und wurde gelöst. Ich denke die Erklärungen sollten auch für dich nützlich sein.

Gruß
Klabautermann


a.C.k - Do 16.01.03 15:10

Vielen Dank. Ich werde es probieren ;)

bei der Suche habe ich diese Topic nicht gesehen.

thx