Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: 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 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.038 c
14-1081564484
TButton
2004-04-10 06:34
2004.05.02
Perl.Help(Me);


7-1078649643
YurikGl
2004-03-07 11:54
2004.05.02
В чем разница?


1-1081957108
/\_A_M_E_P
2004-04-14 19:38
2004.05.02
Как запихнуть в трей иконку програмы?


1-1081858010
ЕвгенийК
2004-04-13 16:06
2004.05.02
Обладатели Delphi 5 или BCB 5 дайте DsgnIntf.dcu PLS!


1-1081862089
REA
2004-04-13 17:14
2004.05.02
Интерфейсы