Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Расположение MainMenu


ZEE ©   (2002-05-29 01:12:00) 

Подскажите можно ли (если да - то как) поменять положение MainMenu формы? Например переместить его вниз или вообще расположить где-нибудь посередине.


Alx2   (2002-05-29 08:12:00) [1]

В какой-то мере спасет компонент ToolBar (вкладка Win32).
На нем можно сымитировать меню. Вот как это делается:


Procedure AssignToolBarMenu(Const ToolBar : TToolBar; Const Menu : TMainMenu; Autosize : Boolean = true);
Var k, Cw : Integer;
begin
cw := 0;
For K := Menu.Items.Count - 1 Downto 0 Do
With TToolButton.Create(ToolBar) Do
Begin
Parent := ToolBar;
Grouped := True;
MenuItem := Menu.Items[K];
AutoSize := True;
Tag := K + 1;
inc(CW, Width);
End;
if AutoSize then
ToolBar.Width := CW;
end;


То есть, на форму (пусть она называется Form1) кидаешь ControlBar (вкладка Additional). Размещаешь где хочется, на него кидаешь ToolBar (в этом примере он имеет имя ToolBar1). В методе
OnCreate формы вызываешь

AssignToolBarMenu(ToolBar1, Form1.Menu);
Form1.Menu := Nil;


И все должно получиться :)


KilkennyCat   (2002-05-29 05:54:00) [2]

нет.
при его отрисовке используется DrawMenuBar(WindowHandle) в USER32.DLL


Наверх

Титульная страница Поиск, карта сайта Написать письмо