Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

Обмен опытом работы с MDI   Найти похожие ветки 

 
Тимохов ©   (2003-12-29 15:47) [0]

У меня есть задача:
1. Программа должна быть MDI.
2. Формы при открытии должны делать настройки (положение и размер компоментов, тексты и т.д.).
3. Размеры и положнеие формы должны сохраняться в реестре.

При решении этой задачи возникают такие проблемы:
1. Форма, у которой в дезайн-тайме установлено, FormStyle = fsMDIChild сразу после создания показывается на экране. И поэтому настройки формы, перечисленные в начале, видны пользователю.
2. Форма, у которой в дезайн-тайме установлено, Position = poDesigned сразу после создания становиться стандартных с точки зрения дельфи размеров. И дальнейшая попытка установить размеры формы, прочтенные из реестра, опять же видны пользователю.

С данной проблемой я справился тем, что в дезайн тайме форма объявляется как fsNormal, перекрываю CreateParams, где принудительно высталяю позицию и размеры формы после отработки inherited CreateParams, и уже после настроек формы делаю FormStyle := fsMDIChild.

Вопрос: как вы работаете с mdi приложениями, при схожих исходных задачах?


 
Тимохов ©   (2003-12-29 15:50) [1]

На самом деле вся беда в методе TCustomForm.SetFormStyle.
Совсем давно я делал так, что переписывал немного Forms.pas.
Сейчас я от этого отказался - обхожусь способами, описанными в вопросе.


 
sniknik ©   (2003-12-29 16:04) [2]

как бы я сделал
> 1.
в опциях проекта обьявил бы ее не auto-create формой а available при нужде создавал бы ее сам.

> 2.
устанавливал бы в размер в onCreate до показа формы юзеру.



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

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
14-37843
Fredericco
2003-12-23 22:26
2004.01.13
Мультиплатформенность в D7.


8-37799
Scote
2003-09-14 20:55
2004.01.13
Нестандартное расширение битмапа


1-37780
TuZ
2003-12-29 13:27
2004.01.13
Как добавить иконку в консольное приложение?


1-37673
ibar
2003-12-26 11:54
2004.01.13
Как отключить распознавание зарезервированных слов?


1-37603
Neznaika
2004-01-01 21:09
2004.01.13
HTML Help Workshop