Главная страница
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.041 c
14-1084606042
Иксик
2004-05-15 11:27
2004.06.06
Посоветуйте хорошую книгу по мат. анализу


1-1085129166
AlexXn
2004-05-21 12:46
2004.06.06
XML


3-1084195613
karburator
2004-05-10 17:26
2004.06.06
Текущая дата в FB1.5 / IB


4-1083324478
Unicode
2004-04-30 15:27
2004.06.06
Keyboard Layout


14-1084861551
anstrem
2004-05-18 10:25
2004.06.06
Есть место для программиста Delphi в Москве