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

Вниз

TCanvas и регионы   Найти похожие ветки 

 
Darvin ©   (2008-02-27 15:27) [0]

Здравствуйте!
Мне нужно сделать следующее: при прорисовке на канве определить регион допустимой прорисовки, например, если канва размером 800х600, то я хочу рисовать на ней в прямоугольнике (100, 100, 300, 200), а чтобы все попытки нарисовать за его пределами игнорировались бы. Потом определять другой регион на этой же канве и т.д.
Полагаю, что это можно сделать с помощью регионов API, но не получается. Делаю так:
with dgPages.Canvas do begin
  SetRectRgn ( dgPages.Canvas.Handle, Left, Top, Right, Bottom );
  ...
  прорисовка
  ...
  SetRectRgn (dgPages.Canvas.Handle, 0, 0, dgPages.Width, dgPages.Height );
end;

1. Правильно ли я полагаю, что такое возможно?
2. Что я делаю не так?


 
Palladin ©   (2008-02-27 15:39) [1]

1. правильно
2. вызываешь ерунду, не в тему и не с теми параметрами, хоть бы в справке глянул что такое SetRectRgn

   
 MyRgn := CreateRectRgn(100,100,200,200);
 SelectClipRgn(Canvas.Handle,MyRgn);
 ...
 прорисовка
 ...
 SelectClipRgn(Canvas.Handle,0);
 DeleteObject(MyRgn);


 
Darvin ©   (2008-02-27 15:48) [2]

>Palladin ©   (27.02.08 15:39) [1]
супер, спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
2-1203717911
Res
2008-02-23 01:05
2008.03.23
чат


2-1204099770
vvv777
2008-02-27 11:09
2008.03.23
Раскрывать Node TreeView при наведении мыши через N секунд


15-1202698605
Буран
2008-02-11 05:56
2008.03.23
Как откомпилировать сишную dll в Билдере?


15-1202492057
Пробегал...
2008-02-08 20:34
2008.03.23
Зачем нужен DefWindowProcW, если есть DefWindowProcA?


2-1204028136
Ванька
2008-02-26 15:15
2008.03.23
MSSqlServer2000