Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.013 c
1-37721
alexEagle
2003-12-30 14:49
2004.01.13
использование XML вместо INI


1-37763
miracle_fox
2003-12-29 17:00
2004.01.13
клавиша <enter> в Edit - как придать ей особое значение?


1-37635
gai
2003-12-26 23:01
2004.01.13
Печать из Word а без лишнего писка


1-37760
andruxin
2003-12-29 17:22
2004.01.13
Как разукрасить TListView.


1-37748
YurikV
2003-12-30 09:41
2004.01.13
Вопрос по ListView




   Наверх