![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Некорректное поведение унаследованной формы [D7, WinXP]
scat © (2008-03-25 09:37:00)Доброго дня!
Проблема в следующем:
В приложении главная форма имеет стиль fsMDIForm. Создаем форму MDForm1, которая имеет стиль fsMDIChild. Форма MDForm1 в своем конструкторе читает из файла значения положения и размера формы и присваивает эти значения. После завершения работы конструктора форма отображается в том положении и с теми размерами, которые были считаны, т.е. правильно отрабатывает. Создаем вторую форму MDForm2 унаследованную от MDForm1, и в приложении запускаем MDForm2, и получаем такой эффект: сначала прорисовывается MDForm2 форма с размерами и положением согласно свойству Position этой формы, а потом прорисовывается со считанными размерами и получается неприятное мигание. А если запустить MDForm1, то она прорисовывается один раз и сразу со считанными размерами.
Подскажите как это побороть.
За ранее благодарен!
scat (2008-03-26 01:56:00) [1]Помогло перекрытие процедуры Docreate в форме MDForm1. В ней считываем параметры. Мигать перестало.
Игорь Шевченко (2008-03-25 09:53:00) [2]А из autocreate убрать лишние формы ?
Сергей М. (2008-03-25 09:43:00) [3]
> в своем конструкторе читает из файла значения положения
> и размера формы и присваивает эти значения
А надо бы это делать не в конструкторе, а, скажем, в обработчике OnCreate или, на худой конец. в перекрытом методе AfterConctruction