Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.20;
Скачать: CL | DM;

Вниз

Мерцание при прорисовке   Найти похожие ветки 

 
Washington ©   (2007-12-15 01:05) [0]

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


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


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

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


 
Washington ©   (2007-12-15 01:18) [2]

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


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

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


 
korneley ©   (2007-12-15 01:21) [4]


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

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


 
Washington ©   (2007-12-15 01:24) [5]

Да, главной


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


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

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


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


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

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


 
Washington ©   (2007-12-15 01:29) [8]


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

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


 
korneley ©   (2007-12-15 01:35) [9]

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


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


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

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


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

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


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

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

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


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

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


 
Washington ©   (2007-12-19 11:23) [14]


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

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


 
{RASkov} ©   (2007-12-19 11:26) [15]

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

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


 
Washington ©   (2007-12-19 12:23) [16]


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

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


 
{RASkov} ©   (2007-12-19 12:33) [17]

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

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

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

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

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



Страницы: 1 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.018 c
1-1192715378
Still Swamp
2007-10-18 17:49
2008.01.20
Мои Messages


15-1197359482
андр
2007-12-11 10:51
2008.01.20
MS SQL Server 2000


15-1197588500
Олег
2007-12-14 02:28
2008.01.20
Блокировка трафика


3-1189282732
Fin
2007-09-09 00:18
2008.01.20
dbf и Юникод


2-1198222508
ZLynX
2007-12-21 10:35
2008.01.20
TFileStream