Első megoldás (Jeff Lawton): A menüpontok futásidőben történő 
hozzáadását/eltávolítását a Create, Add, Insert, Remove metódusokkal lehet végrehajtani.


Új menüfőpont hozzáadása


procedure tform1.addmainitem(s:string);
var
   newitem : Tmenuitem;
begin
   newitem:=tmenuitem.create(Mainmenu1);
   newitem.caption:=s;
{ha egy OnClick eseményt akarsz hozzárendelni
   newitem.onclick:=Dynamenuclick; }
{adja a főmenühöz}
   mainmenu1.items.insert(mainmenu1.items.count,newitem);
   removemenu1.enabled:=true;
   addmenuitem1.enabled:=true;
end;



Új menüalpont hozzáadása


procedure tform1.addsubitem(s:string; to : integer);
var
   newitem, toitem : Tmenuitem;
begin
{to = főmenüpont, amihez hozzáadja az almenüpontot}
   toitem:=mainmenu1.items[to];
   newitem:=tmenuitem.create(toitem);
   newitem.caption:=s;
{ha egy OnClick eseményt akarsz hozzárendelni
   newitem.onclick:=Dynamenuclick; }
   toitem.onclick:=nil;
   toitem.insert(toitem.count,newitem);
   removemenuitem1.enabled:=true;
end;



Egy másik megoldás (Jani Järvinen): Használhatod a 'Menus' unitban előre definiált
menüfunkciókat is.

function NewMenu(Owner: TComponent; const AName: string; Items: array of TMenuItem): TMainMenu;

function NewPopupMenu(Owner: TComponent; const AName: string; Alignment: TPopupAlignment; AutoPopup: Boolean; Items: array of TMenuitem): TPopupMenu;

function NewSubMenu(const ACaption: string; hCtx: Word; const AName: string; Items: array of TMenuItem): TMenuItem;

function NewItem(const ACaption: string; AShortCut: TShortCut; AChecked, AEnabled: Boolean;AOnClick: TNotifyEvent; hCtx: Word; const AName: string): TMenuItem;

function NewLine: TMenuItem; {Új elválasztó vonal}

Ezek használatára egy példa (UNDU - Robert Vivrette):

PopupMenu1 := TPopupMenu.Create(Self);
with PopUpMenu1.Items do
   begin
      Add(NewItem('First Menu',0,False,True,MenuItem1Click,0,'MenuItem1'));
      Add(NewItem('Second Menu',0,False,True,MenuItem2Click,0,'MenuItem2'));
      Add(NewItem('Third Menu',0,False,True,MenuItem3Click,0,'MenuItem3'));
      Add(NewLine); // Új elválasztó vonal
      Add(NewItem('Fourth Menu',0,False,True,MenuItem4Click,0,'MenuItem4'));
   end;