![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как решить проблему мелькания у компонентов? (Edit) [D7, WinXP]
ratatui © (2009-10-19 22:29:00)Добавляю окно класса Edit, при приходе сообщения о ресайзе, устанавливаю новый размер edit'а. При изменении окна edit мелькает, хотя в похожем примере на ассемблере такого нет.
GetClientRect(Handle,Client);
Edit := CreateWindowEx(WS_EX_CLIENTEDGE,'EDIT',nil,WS_VISIBLE or WS_CHILD or
WS_HSCROLL or WS_VSCROLL or ES_AUTOHSCROLL or ES_AUTOVSCROLL or ES_MULTILINE+ES_NOHIDESEL,
Client.Top,Client.Left,Client.Right,Client.Bottom,Handle,0,hInstance,nil);
Anatoly Podgoretsky (2009-10-23 15:39:00) [1]> guard_gg (23.10.2009 10:26:06) [6]
Желательно что бы таких было побольше, тогда нам больше достанется.
guard_gg (2009-10-23 10:26:00) [2]Весь буду рад ответить что в Microsoft VC++ объекта TAppication никогда не существовало, а использование бьюлдера это недалекая дорога от дельфи и паскаля. Те кто пытается заработать деньги прикладным программированием использует либо VC++ либо GNU GCC.
brother (2009-10-23 04:18:00) [3]меня так и подмывает спросить: а на си, объект TAppication по-другому описан? О_о
guard_gg (2009-10-22 10:52:00) [4]Тогда извиняюсь бо уже 3 года кодю на С++ ^__^
brother (2009-10-22 06:39:00) [5]> TAppication если я не ошибаюсь.
ошибаешься...
guard_gg (2009-10-22 06:29:00) [6]Незнаю в тему ли но используя VCL когда я сталкивался с мельканием компонентов при их перерисовке я использовал флаг DoubleBuffer = true
что расположен в классе TAppication если я не ошибаюсь.
Можно залезть в исходники VCL и посмотреть как реализован DoubleBuffer
clickmaker (2009-10-20 10:51:00) [7]см. в сторону WM_SETREDRAW или BeginDeferWindowPos. вторая полезна, если сразу несколько окон нужно ресайзить