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

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

Организация MDI проектов или меню, толбары в MDI приложениях.


Sectey ©   (2002-11-15 11:20:00) 

Доброе время суток уважаемые мастера.
Если вас это не затруднит, я бы хотел выслушать ваше мнение.
Я нахожусь на распутье и не могу понять каким путем двигаться.
Необходимо написать MDI приложение, в котором есть окон у которых есть индивидуальные и общие функции.
Вот мои мысли:
1. MainMenu - при активизации все функции которые есть в Основно окне заменяются дочерними, если нет то добавляются. А при потере фокуса все возвращается на прежнее место.
2. ToolBar (тобишь кнопки)
а. При активизаци дочерней формы ToolBar переносить на родительскую, а при потере фокуса делать невидемым. Недостатки моргания ToolBar при смене окна.
б. Подход 1С вывести все кнопки в зависимости от панели, а потом в зависимости от окна, активизировать требуемые. Недостатки необходимо в ручную переопредилять комбинацию рабочих кнопок.

Хотелось бы знать кто как делает.
Мысли другого человека дают мысли для размышления.
Зараее блогадарен за любой ответ.


Reindeer Moss Eater   (2002-11-15 12:09:00) [1]

Чтобы у MDIChild было меню:
Добавляем TMainMenu, TToolBar(пустой) и после создания MDIChild выполняем:

SetToolBarFromMenu(ToolBar1,MainMenu1.Items);

procedure SetToolBarFromMenu(ToolBar: TToolBar; Items: TMenuItem);
var i: integer; Button: TToolButton;
begin
for i := Pred(Items.Count) downto 0 do
begin
Button := TToolButton.Create(ToolBar.Owner);
with Button do
begin
Parent := ToolBar;
MenuItem := Items[i];
Grouped := True;
AutoSize := True;
end;
end;
ToolBar.Font.Assign(Screen.MenuFont);
end;


Наверх

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