Вниз
Скачать: CL | DM;

Кто работал с ActionMainMenuBar?   Найти похожие ветки 

← →
Cranium ©   (2003-08-18 14:56) [0]

Вопрос в следующем, как ActionMainMenuBar заставить вести себя на MDI также как обычное MainMenu. Поясняю, чтобы caption дочерней формы не сливалось с основной, а находилось под ActionMainMenuBar


← →
Aleksandr ©   (2003-08-18 14:59) [1]

Ну, я работал. До сих пор плачу, что включил ее в проект, потому как сырая смертельно. А вот насчет заголовка дочерней формы несовсем понятна суть вопроса. В неразвернутом состоянии дочернее окно всегда его имеет ниже, чем MainMenuBar.


← →
cranium ©   (2003-08-18 15:03) [2]

А в развернутом если отсутствует MainMenu, то разворачивается на всю форму. А при наличии MainMenu кнопики закрыть, свернуть, развернуть находятся ниже меню. При использовании ActionMainMenuBar при максимизации дочерней фрмы, данные кнопки не доступны и получается дочернюю форму уже не свернуть...


← →
Aleksandr ©   (2003-08-18 15:11) [3]

Ну, если я правильно понял проблему, то там надо установить свойство WindowsMenu. Тогда эта на редкость тупая скотина поймет, что кнопки управления дочерним окном надо показывать и при разворачивании в правой своей части будет их рисовать. Правда, обновляться они будут тоже $#%нуто - пока в пункт виндового меню не зайдешь, кнопки не исчезнут после закрытия дочернего окна. Я лечил это $%^& тем, что создавал на меню тулбар, в который впихивал свои кнопки управления дочерними кнопками с соответствующими экшнами и на Resize выключкой всегда вправо.


← →
veb   (2003-08-18 16:09) [4]

Действительно ActionMainMenuBar совершенно не приспособлен к работе с MDI приложениями. Немного улучшает ситуацию борландовский патч, который вы найдете по ссылке
http://www.geocities.com/delphihelp
пофиксено около 30 багов.
Однако мне еще пришлось и корректировать файл Forms.pas
Удачи.


← →
Aleksandr ©   (2003-08-18 17:38) [5]

А что Вы там откорректировали, не уточните?


← →
veb   (2003-08-18 18:41) [6]

Уточню:
Закомментированы следующие строки в
procedure TCustomForm.ClientWndProc(var Message: TMessage);
модуля Forms.pas

begin
Default;
// veb 2003.04.12
// if FFormStyle = fsMDIForm then
// ShowMDIClientEdge(FClientHandle, (MDIChildCount = 0) or
// not MaximizedChildren);
// veb
end;

Успехов.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
4-1713
AntE
2003-07-01 01:31
2003.09.01
Текст в exe-шнике..


1-1413
Nucl
2003-08-15 17:15
2003.09.01
Сохранение отображения дерева


3-1340
Tahion2
2003-08-11 13:01
2003.09.01
Как в ClientDataSet сохранить начальный порядок следования записе


4-1718
AD
2003-06-30 15:01
2003.09.01
Как сделать модальный диалог БЕЗ рамки и caption a?


1-1401
Checist [root]
2003-08-16 03:10
2003.09.01
Мышь над компонентом




   Наверх