Конференция "Основная" » Некорректное поведение унаследованной формы [D7, WinXP]
 
  • scat (25.03.08 09:37) [0]
    Доброго дня!
    Проблема в следующем:
    В приложении главная форма имеет стиль fsMDIForm. Создаем форму MDForm1, которая  имеет стиль fsMDIChild. Форма MDForm1 в своем конструкторе читает из файла значения положения и размера формы и присваивает эти значения. После завершения работы конструктора форма отображается в том положении и с теми размерами, которые  были считаны,  т.е. правильно отрабатывает. Создаем вторую форму MDForm2 унаследованную от MDForm1, и в приложении запускаем MDForm2, и получаем такой эффект: сначала  прорисовывается MDForm2 форма с размерами и положением согласно свойству Position этой формы, а потом прорисовывается со считанными размерами и получается неприятное мигание. А если запустить MDForm1, то она прорисовывается один раз и сразу со считанными размерами.
    Подскажите как это побороть.
    За ранее благодарен!
  • Сергей М. © (25.03.08 09:43) [1]

    > в своем конструкторе читает из файла значения положения
    > и размера формы и присваивает эти значения


    А надо бы это делать не в конструкторе, а, скажем, в обработчике OnCreate или, на худой конец. в перекрытом методе AfterConctruction
  • Игорь Шевченко © (25.03.08 09:53) [2]
    А из autocreate убрать лишние формы ?
  • scat (26.03.08 01:56) [3]
    Помогло перекрытие процедуры Docreate в форме MDForm1.  В ней считываем параметры. Мигать перестало.
 
Конференция "Основная" » Некорректное поведение унаследованной формы [D7, WinXP]
Есть новые Нет новых   [134484   +49][b:0][p:0]