![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Организация 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;