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

Вниз

ScreenToClient   Найти похожие ветки 

 
Fast   (2002-01-14 19:48) [0]

Есть Form1 на ней Image1 поверх картинки лежит Label1.
Задача: нарисовать прямоугольник на картинке точно под лейблом.

Делаю так


var
Rect:TRect;
..............
begin
pT:=Point(Label1.top,Label1.left);
REct.TopLeft:=Image1.ScreenToClient(Form1.ClientToScreen(pT));
pB:=Point(Label1.top+Label1.Width,Label1.left+Label1.Height);
Rect.BottomRight:=Image1.ScreenToClient(Form1.ClientToScreen(pB));
Image1.Canvas.FillRect(Rect);
end;

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


 
Анатолий   (2002-01-14 21:25) [1]

А не проще вычислить координаты label на форме, учесть необходимое смещение и затем рисовать прямоугольник.


 
Adder ©   (2002-01-14 21:45) [2]

begin
Image1.Canvas.FillRect(Rect(Label1.Left,Label1.Top,
Label1.Left+Label1.Width,Label1.Top+Label1.Height));
end;
:)


 
Fast   (2002-01-14 21:45) [3]

Все я съехал. Извините все правилно просто я ширину с высоной перепутол.


 
Юрий Зотов ©   (2002-01-14 21:57) [4]

Попробуйте проще:

var
R: TRect;
begin
R := Label1.BoundsRect;
OffsetRecT(R, -Image1.Left, -Image1.Top);
Image1.Canvas.FillRect(R);
...


 
Набережных С.   (2002-01-14 22:21) [5]

Недурно было-бы сделать так :

pT:=Point(Label1.left,Label1.top);
pB:=Point(Label1.left+Label1.Width,Label1.top+Label1.Height);

если только это не противоречит Вашим принципам.




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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
3-99855
victor
2001-12-25 14:15
2002.01.31
переход с Парадокса на Оракле


1-100011
kserg@ukr.net
2002-01-15 12:40
2002.01.31
Про меню (в смысле про TMainMenu)


7-100091
ReNoiZer
2001-10-18 17:57
2002.01.31
Убедительная просьба к Mystic...


3-99853
kengura
2001-12-25 18:26
2002.01.31
SQL запросы insert и update и memo поля


1-100010
nikols
2002-01-15 12:05
2002.01.31
Надо конвертировать отчет QuickReport в Excel.