Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мерцание при прорисовке


Washington ©   (2007-12-15 01:05:00) 

В событиии формы onPaint прорисовал заголовок формы. В результате - всё нормально рисуется, но при появлении формы мерцает. противно как-то. Если кто знает, подскажите, как убрать сие?


{RASkov}   (2007-12-19 12:33:00) [1]

> [16] Washington ©   (19.12.07 12:23)

Ну как знаешь.....

> Всё равно мерцает

> как убрать сие?

тогда ответ - Фик знает, да поможет тебе....
:о)


Washington   (2007-12-19 12:23:00) [2]


> {RASkov} ©   (19.12.07 11:26) [15]

Нет, вот это уж лучше вам не знать :))))


{RASkov}   (2007-12-19 11:26:00) [3]

> [14] Washington ©   (19.12.07 11:23)
> Всё равно мерцает

Знать бы еще, как и что ты там рисуешь.....


Washington   (2007-12-19 11:23:00) [4]


> korneley ©   (15.12.07 01:35) [9]

Всё равно мерцает


Washington   (2007-12-19 11:13:00) [5]

Подниму тему )
BorderStyle=bsNone


homm   (2007-12-15 07:57:00) [6]

> [3] Washington ©   (15.12.07 01:20)
> я с помощью регионов убрал стандартный

А что, менее ректальных способов для этого не нашлось? см. BorderStyle


Германн   (2007-12-15 01:46:00) [7]

Ведь если у формы (окна) есть заголовок, то этому окну винда обязательно пошлет WM_NCPAINT "при появлении" формы (окна ). И что-то там отрисуется. А потом твой регион эту область перерисует. Ну и как тут не мерцать?


korneley   (2007-12-15 01:35:00) [8]

А вот такой перректальный метод?
 AlphaBlend := true;
 AlphaBlendValue := 0;
После отрисовки
 AlphaBlendValue := 255;
Можно попробовать "всплыть" даже :)


Германн   (2007-12-15 01:35:00) [9]


> Может быть стандартный заголовок не убирается, но его не
> видно - факт
>

А может твоё мерцание это как раз прорисовка стандартного заголовка. Который прорисовывается виндой, а потом затирается твоим кодом?


Washington   (2007-12-15 01:29:00) [10]


Region:=CreateRoundRectRgn(0,Height-ClientHeight,Width,ClientHeight,20,20);
SetWindowRgn(Handle,Region,True);

Может быть стандартный заголовок не убирается, но его не видно - факт


Германн   (2007-12-15 01:27:00) [11]


> Германн ©   (15.12.07 01:25) [6]
>
>

То бишь это проблема "мухи и котлеты".


Германн   (2007-12-15 01:25:00) [12]


> я с помощью регионов убрал стандартный

Имхо, "с помощью регионов" убратьстандартный нельзя.


Washington   (2007-12-15 01:24:00) [13]

Да, главной


korneley   (2007-12-15 01:21:00) [14]


> ...В результате - всё нормально рисуется, но при появлении
> формы мерцает...

Какой формы? Главной? Или какой другой?


Washington   (2007-12-15 01:20:00) [15]

Вернее я не совсем заголовок прорисовываю, я с помощью регионов убрал стандартный (в собтии onCreate), и в клиентской части нарисовал свой.


Washington   (2007-12-15 01:18:00) [16]

А где тогда прописывать?


Германн   (2007-12-15 01:14:00) [17]


> Washington ©   (15.12.07 01:05)
>
> В событиии формы onPaint прорисовал заголовок формы.

Эээ. Заголовок формы вроде как относится к неклиентской части окна. Так при чем же тут событие onPaint?


Наверх

Титульная страница Поиск, карта сайта Написать письмо