Главная страница
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.062 c
14-1085248282
NetBreaker666
2004-05-22 21:51
2004.06.06
Привет, НАРОД! Я вернулся! Было ли здесь че-нить интересное


14-1084635145
SPeller
2004-05-15 19:32
2004.06.06
PE Viewer 1.11


1-1085088491
ZedeS
2004-05-21 01:28
2004.06.06
Фокус на Edit


14-1084672663
Думкин
2004-05-16 05:57
2004.06.06
С днем рождения! 16 мая


1-1085650131
ilnarab
2004-05-27 13:28
2004.06.06
Функция возведения в степень