Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.48 MB
Время: 0.034 c
4-1078988008
AlexS76
2004-03-11 09:53
2004.05.02
Как выбрать удаленный компьютер в диалоге


1-1081708270
Артем
2004-04-11 22:31
2004.05.02
"Canvas does not allow drawing"


1-1081784836
oleg_SYS
2004-04-12 19:47
2004.05.02
Как самому сделать всплывающую подсказку (Hint)


7-1078809077
lucky4me
2004-03-09 08:11
2004.05.02
phone via voice modem


1-1082195232
Leviathan
2004-04-17 13:47
2004.05.02
Выделение синим в StringGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский