Author: Tomas Rutkauskas
How to remove a menu or submenu at runtime
Answer:
Try these two procedures, i.e. RemoveMenu(form1.handle, 0) to remove the first menu:
1 2 procedure RemoveMenu(hwndMain: THandle; MenuIndex: Integer);
3 var4 h: HMenu;
5 begin6 h := GetMenu(hwndMain);
7 if h > 0 then8 DeleteMenu(h, MenuIndex, MF_BYPOSITION);
9 end;
10 11 procedure RemoveSubmenu(hwndMain: THandle; MenuIndex, SubmenuIndex: Integer);
12 var13 h: HMenu;
14 begin15 h := GetMenu(hwndMain);
16 if h > 0 then17 DeleteMenu(GetSubmenu(h, MenuIndex), SubmenuIndex, MF_BYPOSITION);
18 end;