-
ratatui (19.10.09 22:29) [0]Добавляю окно класса 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); -
clickmaker © (20.10.09 10:51) [1]см. в сторону WM_SETREDRAW или BeginDeferWindowPos. вторая полезна, если сразу несколько окон нужно ресайзить
-
guard_gg (22.10.09 06:29) [2]Незнаю в тему ли но используя VCL когда я сталкивался с мельканием компонентов при их перерисовке я использовал флаг DoubleBuffer = true
что расположен в классе TAppication если я не ошибаюсь.
Можно залезть в исходники VCL и посмотреть как реализован DoubleBuffer -
brother © (22.10.09 06:39) [3]> TAppication если я не ошибаюсь.
ошибаешься... -
guard_gg (22.10.09 10:52) [4]Тогда извиняюсь бо уже 3 года кодю на С++ ^__^
-
brother © (23.10.09 04:18) [5]меня так и подмывает спросить: а на си, объект TAppication по-другому описан? О_о
-
guard_gg (23.10.09 10:26) [6]Весь буду рад ответить что в Microsoft VC++ объекта TAppication никогда не существовало, а использование бьюлдера это недалекая дорога от дельфи и паскаля. Те кто пытается заработать деньги прикладным программированием использует либо VC++ либо GNU GCC.
-
Anatoly Podgoretsky © (23.10.09 15:39) [7]> guard_gg (23.10.2009 10:26:06) [6]
Желательно что бы таких было побольше, тогда нам больше достанется.