Вниз
Скачать: CL | DM;

Проблемы с 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.022 c
11-1054737597
Kirill
2003-06-04 18:39
2004.05.02
Сворачивание программы


1-1081929826
SergP
2004-04-14 12:03
2004.05.02
ZLib. Как распаковать строку?


3-1081230888
maxz
2004-04-06 09:54
2004.05.02
Не могу в ClientDataSet выставить свойство Active в true


9-1068327019
DDS
2003-11-09 00:30
2004.05.02
OpenGL: Задаю рисовать POLIGON последовательно по точкам, а он...


14-1081773807
Voland2000
2004-04-12 16:43
2004.05.02
Кто-нить программил на Си++




   Наверх