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