![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
тишина |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
помогите описать динамическое создание меню, кнопки, панели получаются, меню так же прописываю, а оно не отображается, вот кусок из процедуры FormCreat:
Код procedure TForm1.FormCreate(Sender: TObject); var i:integer; begin kol:=15; Caption:='Игра'; Color:=$00FC1B01; BorderStyle:=bsSingle; ClientWidth := CW*((kol div 4)+1); ClientHeight := CH*8; Menu:=MainMenu1; MainMenu1:=TMainMenu.Create(Form1); with MainMenu1 do begin Left:= 10; \\вот это вроде в свойствах меню нет, но надо же как-то Top:= 10; \\ задавать, где оно должно находиться :huh: Parent:=Form1; ParentBiDiMode:=True; Exit:=TMenuItem.Create(Form1.MainMenu1); with Exit do begin OnClick:=FormExit; Caption:='Выход'; end; Spravka:=TMenuItem.Create(Form1.MainMenu1.Items); with Spravka do begin Caption:='Справка'; About:=TMenuItem.Create(Spravka); with About do begin OnClick:=PrgAbout; Caption:='О программе'; end; Rules:=TMenuItem.Create(Spravka); with Rules do begin OnClick:=GameRules; Caption:='Правила'; end; end; end; Тегами для подсветки кода пользуйтесь |
![]() ![]() |
Digitalator |
![]()
Сообщение
#2
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата вот это вроде в свойствах меню нет, но надо же как-то Top:= 10; \\ задавать, где оно должно находиться ![]() а вот чего там нет - того нет. Насколько помню меню автоматически ставиться в верх формы, и не надо ничего там устанавливать. и потом Цитата MainMenu1:=TMainMenu.Create(Form1); Если объект меню уже выставлен на форму (с помощью визуального редактора), то он уже создан, зачем это делать повторно? может быть это поможет разобраться Код procedure additem(owner:TMenuItem; caption:string); var item:TMenuItem; begin item := TMenuItem.Create(owner); item.Caption:=caption; owner.Add(item); end; ........ additem(MainMenu1.Items,'Menu item'); additem(MainMenu1.Items[0],'Sub item'); additem(MainMenu1.Items[0].Items[0],'Sub Sub item'); PS: А предположение действительно неверно ) Сообщение отредактировано: Digitalator - 2.05.2005 20:55 -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 13.07.2025 6:09 |