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

Область отсечения канвы   Найти похожие ветки 

 
solo ©   (2003-09-16 21:23) [0]

Здравствуйте, возникла необходимость разобраться с использованием области отсечения контекста устройства. К примеру после вызова функции:

IntersectClipRect(Image1.Canvas.Handle, Left + 50, Top + 50, Left + Width - 50, Top + Height - 220);

устанавливаются новые границы области отсечения. Но вывод выполненный за пределами этой заново установленной области все равно отображается. Нужно сделать что-то еще?
Дайте если можно ссылку, где об этом можно почитать.

Спасибо.


 
Юрий Федоров ©   (2003-09-16 21:43) [1]

В данном случае речь идет о пересечении существующего региона с новым. Посмотри, что вернула функция, думаю, что ERROR (то есть текущий регион не определен).
Попробуй SelectClipRgn (регион предварительно нужно создать, например функцией CreateRectRgn)


 
solo ©   (2003-09-16 23:14) [2]

2 Юрий Федоров
Нет функция выполняется успешно, и область отсечения изменяется (проверял по свойству Canvas.ClipRect), но вывод за пределами новой области все равно идет.


 
MBo ©   (2003-09-17 07:38) [3]

Подумай о том, что за координаты используются в твоем варианте.

Все прекрасно работает:
IntersectClipRect(Image1.Canvas.Handle, 50, 50, Image1.ClientWidth - 50,
Image1.ClientHeight - 50);
Image1.canvas.Brush.color:=clred;
Image1.Canvas.Rectangle(0,0,200,200);



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

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



Память: 0.45 MB
Время: 0.014 c
1-96164
k2
2003-09-16 10:21
2003.09.29
Приведение типов


3-96082
Dima(Other)
2003-09-09 09:40
2003.09.29
ADO и DLL


3-96105
_VaaL_
2003-09-09 12:49
2003.09.29
DBExpress + MySQL


1-96205
asJIura
2003-09-05 20:46
2003.09.29
Многофункциональный Grid!!!!


14-96421
pwl
2003-09-10 17:17
2003.09.29
MDI форма




   Наверх