Главная страница
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.015 c
1-37658
serg128
2003-12-26 18:28
2004.01.13
Как отображать в RxDBGrid треугольнички на TitleButton?


1-37758
Ivolg
2003-12-29 20:20
2004.01.13
Язык


3-37515
AndrewK
2003-12-17 13:29
2004.01.13
Как хранить в таблице значения разных типов


7-37951
MakNik
2003-10-30 15:52
2004.01.13
Сервисы


1-37715
CASPER
2003-12-30 22:59
2004.01.13
Подскажите если не трудно