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

Вниз

Рисование на канве   Найти похожие ветки 

 
Пугливый Лыжник   (2004-05-23 07:29) [0]

Нид хэлп!
Нужно нарисовать ромб с возможностью заливки и вставки текста.
Я так пониманимаю,он рисуется с помощью проц.polygon,но у меня не получается задать массив точек.Это раз=))
Второе.Как задать начальную позицию для вывода на канву текста при помощи TextOut.
Если можно,приведите пример кода,вечер долбался,вроде правильно делал а ОНО ругается=))
з.ы.:нужно для компоненты


 
Serious Sam   (2004-05-23 11:33) [1]

Рисуешь ромб:
procedure TForm1.Button1Click (Sender: TObject)
var
  romb: array [1..4] of TPoint;
begin
    romb[1].x:=50;
    romb[1].y:=10;
    romb[2].x:=90;
    romb[2].y:=50;
    romb[3].x:=50;
    romb[3].y:=90;
    romb[4].x:=10;
    romb[4].y:=50;
    Form1.Canvas.Polygon(romb);
end;
тороплюсь... Вроде должно работать. Про текст напишу часа через два.


 
Serious Sam   (2004-05-23 11:40) [2]

Не знаю как ты пользуешься TextOut"ом, ведь его параметры x и y и есть координаты точек, откуда будет рисоваться текст (Form1.Canvas.TextOut(x,y,"текст"))


 
Пугливый Лыжник   (2004-05-23 21:48) [3]

За ромб спасибо , я просто клина поймал =)
А на счёт текста вся морковь в том,что он должен быть не константой,а появляться на канве при вводе в caption!!,
+ Как в TLabel выравниваться (слева,справа,по центру).


 
Algol   (2004-05-23 22:16) [4]


> + Как в TLabel выравниваться (слева,справа,по центру).


Так от лейбы свой компонент и наследуй ...А в паинте ставь прорисовку ромба.


 
Пугливый Лыжник   (2004-05-24 14:15) [5]

[quote]Так от лейбы свой компонент и наследуй ...[/quote]
не понял .в лабле слишком много констант мне нужно попроще
чтоб получалось


 
Пугливый Лыжник   (2004-05-24 14:15) [6]

[quote]Так от лейбы свой компонент и наследуй ...[/quote]
не понял .в лабле слишком много констант мне нужно попроще
чтоб получалось


 
Algol   (2004-05-24 16:38) [7]

Дак уж куда проще ...

TMyLabel = class(TLabel)
protected
procedure Paint();override;
end;

...
procedure TMyLabel.Paint();
begin
//здесь рисуем ромб
...
//а потом рисуем саму лейбу
inherited;
end;
...
(и не забываем установить Transparent = true)


 
Prohodil Mimo   (2004-05-24 16:59) [8]

Posmotri v ishodnikah kak label risujet, tak i sebe sdelaj.
stdctrls.pas
procedure TCustomLabel.Paint;



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

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

Наверх




Память: 0.48 MB
Время: 0.05 c
3-1084793850
Tomkat
2004-05-17 15:37
2004.06.06
"Мир InterBase" скачать


4-1082826531
DoG
2004-04-24 21:08
2004.06.06
TerminatedProcess


6-1080821244
a3a3ello
2004-04-01 16:07
2004.06.06
Как отправить по e-mail прицепленный файл ?


14-1084884223
Sergp
2004-05-18 16:43
2004.06.06
Какой это нехороший человек вытер ветку


6-1082103346
MU
2004-04-16 12:15
2004.06.06
Справочник банков (филиалов) с их реквизитами