![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с WM_SIZE+SetWindowPos
Dr.Null © (2004-02-26 00:03:00)Тема такая: у меня по сообщению WM_SIZE главному окну выстраиваются дочерние контролы при помощи SetWindowPos. Контролы разнообразные: несколько Button'ов, RichEdit, Edit, ListView и все такое. Проблема в том, что при этом все контролы очень жутко мерцают, или может это главное окно мерцает... короче факт мерцания имеет место быть. Раньше этого не было видно, т.к. в настройках винды была отключена опция "Отображать содержимое при перетаскивании", а ща включил и ужаснулся. Как побороть?
Заранее благодарен.
PS Убедительная просьба не предлагать в качестве решения данной проблемы отключение вышеописанной опции Windows. Еще раз спасибо.
wicked (2004-03-03 18:57:00) [1]еще надо обрабатывать сообщение WM_ERASEBKGND для главного окна, а точнее саботировать его работу - обрабатывать, но фон окна не вытирать....
NAlexey (2004-03-01 15:13:00) [2]Попробуй включить в SetWindowPos флаг SWP_NOCOPYBITS.
VMcL (2004-02-28 17:48:00) [3]>> Dr.Null (27.02.04 19:21) [13]
> Зачем вообще этот форум придуман?
Это вопрос к разработчикам и модераторам, а не ко мне.
> Давайте все в VCL полезем копаться.
У тебя проблемы с чтением исходного кода Object Pascal? Или ты считаешь, что кому-то охота вместотебя тратить свое время, чтобы тебе помочь?
Dr.Null (2004-02-27 19:21:00) [4]Спасибо конечно, за [7]! Грамотный совет... вообще так на любой вопрос ответить можно впринципе. Зачем вообще этот форум придуман? Давайте все в VCL полезем копаться.
VMcL (2004-02-27 18:49:00) [5]И вообще хватит заниматься личной перепиской. Я ответ дал в [7] - см. исходники.
VMcL (2004-02-27 18:48:00) [6]Я не телепат и угадывать, зачем тебе понадобилось "пользоваться SetWindowPos", не намерен.
Dr.Null (2004-02-27 16:15:00) [7]А давайте посильнее подумаем, если у меня было бы VCL, зачем бы мне пользоваться SetWindowPos?
VMcL (2004-02-27 11:28:00) [8]>Dr.Null (26.02.04 22:51) [8]
>А если взять и посмотреть на название раздела и подумать
>логически? Уж извните, если прозвучит несколько грубо...
А если взять и подумать? Если я пишу на VCL, то не имею права WinAPI использовать и соответственно задать вопрос по нему в конф-ции "WinAPI"?
Dr.Null (2004-02-26 22:51:00) [9]> VMcL © (26.02.04 22:28) [7]
> если конечно на VCL, а не на чистом WinAPI
А если взять и посмотреть на название раздела и подумать логически? Уж извните, если прозвучит несколько грубо...
VMcL (2004-02-26 22:28:00) [10]P.S. к [6] - если конечно на VCL, а не на чистом WinAPI. В последнем случае рекомендую взглянуть на исходники TWinControl и обратить внимание на DoubleBuffered.
VMcL (2004-02-26 22:26:00) [11]>Dr.Null (26.02.04 09:02) [2]
>Это ваще к чему?
"DoubleBuffered" + F1
Dr.Null (2004-02-26 22:19:00) [12]Присовоение стиля WS_CLIPCHILDREN значительно сокаратило мерцание, но не до конца, особо заметны остаточные явления на ListView и StatusBar. Присвоение дочерним контролам стиля WS_CLIPSIBLINGS по-моему не дает никаких изменений. Пытаюсь разобраться с *DeferWindowPos, но пока безуспешно.
wicked (2004-02-26 11:34:00) [13]поправка - для главного окна стиль должен быть WS_CLIPCHILDREN, безWS_CLIPSIBLINGS....
wicked (2004-02-26 11:05:00) [14]стиль главному окну - WS_CLIPCHILDREN + WS_CLIPSIBLINGS....
стили кнопкам - WS_CLIPSIBLINGS...
также см BeginDeferWindowPos/DeferWindowPos/EndDeferWindowPos...
Dr.Null (2004-02-26 09:02:00) [15]Это ваще к чему?
VMcL (2004-02-26 02:07:00) [16]DoubleBuffered := True
?