Articles

Use Insert method for adding SubPopupItem to a PopUp menu.

procedure TForm1.MyShow(Sender: TObject);
begin
  with Sender as TMenuItem do ShowMessage(Caption);
end;

procedure TForm1.First1Click(Sender: TObject);
var
  MyPopUpItems: array[0..2] of TMenuItem;
  i: Integer;
begin
  for i:=0 to 2 do
  begin
    MyPopUpItems[i]:=TMenuItem.Create(Self);
    MyPopUpItems[i].Caption:='New item '+IntToStr(i);
    PopupMenu1.Items[1].Insert(i, MyPopupItems[i]);
    MyPopUpItems[i].OnClick:=MyShow;
  end;
end;