Спасибо, попробую.
Добавлено спустя 18 часов 5 минут 37 секунд:Re: Динамическое создание главного меню в кроссплатф. приложенииНе пойму как TMainMenu подцепить к окну имея только Handle окна.
Добавлено спустя 7 часов 47 минут 41 секунду:Re: Динамическое создание главного меню в кроссплатф. приложенииВозможно я неясно выразился. После создания окна у меня есть лишь его handle. 
Окно создается сторонней библиотекой. 
Так вот как к этому окну добавить главное меню?
Как создать само меню с пунктами через TMenuItem понятно, а вот как его назначить окну по его handle не пойму.
Добавлено спустя 11 часов 30 минут 15 секунд:Re: Динамическое создание главного меню в кроссплатф. приложенииПробую вот такой код, но не работает:
- Код: Выделить всё
- procedure additem(Owner:TMenuItem; Caption:string);
 var
 item : TMenuItem;
 begin
 item := TMenuItem.Create(Owner);
 item.Caption := Caption;
 Owner.Add(item);
 end;
 
 procedure TForm1.FormCreate(Sender: TObject);
 var
 FMenu1 : TMainMenu;
 begin
 FMenu1 := TMainMenu.Create(nil);
 
 //FMenu1.HandleNeeded;
 FMenu1.WindowHandle := Self.Handle;
 
 additem(FMenu1.Items,'Menu item 1');
 additem(FMenu1.Items,'Menu item 2');
 additem(FMenu1.Items,'Menu item 3');
 additem(FMenu1.Items[0],'Sub item 1-1');
 additem(FMenu1.Items[0],'Sub item 1-2');
 additem(FMenu1.Items[1],'Sub item 2-1');
 additem(FMenu1.Items[2],'Sub item 3-1');
 additem(FMenu1.Items[0].Items[0],'Sub Sub item 1');
 additem(FMenu1.Items[0].Items[0],'Sub Sub item 2');
 end;