Текущий архив: 2007.08.12;
Скачать: CL | DM;
ВнизПроблемы с wsMaximized для MDIChildForm Найти похожие ветки
← →
Giperon © (2007-07-13 15:29) [0]Здравствуйте!
В моей программе использован MDI.
Нажатие на кнопку открывает дочернее окно, для которого удобно применить
WindowsState := wsMaximized
для того, чтобы дочерняя форма создавалась максимизированной.
Создается, все хорошо, но в момент создания возникает неприятный эффект мерцания - форма создается, очевидно, с wsNormal, а потом лишь развертывается на всю клиентскую область.
Если кто-то сталкивался с подобным, подскажите, как устранить сей неприятный эффект.
← →
{RASkov} © (2007-07-13 15:33) [1]> [0] Giperon © (13.07.07 15:29)
Выставь в дизайнере или в ОнКреате стиль Макс....
← →
Giperon © (2007-07-13 15:42) [2]Именно так я и делаю. И в дизайнере, и в ОнКреате - одинаково. :(
← →
Shamansky_ne (2007-07-14 15:45) [3]
> Giperon © (13.07.07 15:42) [2]
> Именно так я и делаю. И в дизайнере, и в ОнКреате - одинаково.
> :(
Процесс создания окна ведь такой:
1. создали окошко;
1.a здесь можешь производить с окном разные манипуляции;
2. показали окошко;
Ты немного путаешь, эффект мерцания у тебя происходит при прорисовке дочернего окна, а это уже удет после создания, то есть windowsState здесь уже не причем, может у тебя стоит какая-нибудь громоздкая операция на onShow или onPaint?
← →
Giperon © (2007-07-18 12:04) [4]Спасибо,я все понял.
Теперь я делаю так:
В дизайнере ставлю для дочерней формы
WindowState = wsMinimazed
А потом в коде кнопки, открывающей эту форму:
NewForm := TNewForm.Create(Application);
NewForm.WindowState := wsMaximized;
NewForm.Show;
Теперь эффект значительно поутих.
А причина, скорее всего - в слабеньком компе:)
Страницы: 1 вся ветка
Текущий архив: 2007.08.12;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.05 c