![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тропинки, бордюры, etc.... [D5, Win2k]
Карелин Артем © (2002-10-30 09:13:00)По примерам MikeIp и советам MBo делаю в разных вариантах так:
begin
// with canvas do
begin
// Brush.Color:=clBlack;
// Font.Size:=22;
// Font.Color:=clRed;
BeginPath(Handle);
SetBkMode(Handle, TRANSPARENT);
// Canvas.TextOut(10,10, Edit1.Text);
Windows.TextOut(Handle,20,20,PChar(Edit1.Text),Length(Edit1.Text));
EndPath(Handle);
StrokeAndFillPath(Handle);
end;
end;
Получается либо просто текст, либо вообще ничего. Что неправильно и (или) чего нехватает в примере http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1035875987&n=7
AlexT1000 (2002-10-31 12:30:00) [1]пардон. разобрался
AlexT1000 (2002-10-31 12:29:00) [2]что то твой последний пример не пашет. какой я должен выбрать фонт для TEdit?
Карелин Артем (2002-10-31 10:50:00) [3]Вот мой вариант с небольшим прибабахом в виде градиентного бордюра.
Шрифт и размер установлен заранее.
procedure TForm1.Edit1Change(Sender: TObject);
var i:integer;
begin
//Шрифт PaintBox1 должен быть векторный!!
//И размерчик побольше ;)
PaintBox1.Canvas.FillRect(PaintBox1.ClientRect);
// PaintBox1.Canvas.Pen.Style:=psDash; //Не влияет
PaintBox1.Canvas.Brush.Style:=bsClear;//Если убрать строчку, получится рамка :-)
for i:=25 downto 0 do
begin
PaintBox1.Canvas.Pen.Width:=i;
PaintBox1.Canvas.Pen.Color:=clRed*i div 25;
BeginPath(PaintBox1.Canvas.Handle);
PaintBox1.Canvas.TextOut(10,10, Edit1.Text);
EndPath(PaintBox1.Canvas.Handle);
StrokeAndFillPath(PaintBox1.Canvas.Handle);
end;
PaintBox1.Canvas.Font.Color:=clWhite;
PaintBox1.Canvas.TextOut(10,10, Edit1.Text);
end;
Карелин Артем (2002-10-31 10:47:00) [4]Проблема была в том, что по умолчанию стоял растровый шрифт. А он не преоьразуется в тропинку...
MBo (2002-10-30 09:36:00) [5]procedure TForm1.Button1Click(Sender: TObject);
begin
with canvas do begin
Brush.Color:=clLime;
Font.Size:=62;
Font.name:="Arial";
BeginPath(Handle);
SetBkMode(Handle, TRANSPARENT);
TextOut(10,10, "Abcd");
EndPath(Handle);
StrokeAndFillPath(Handle);
end;
end;
MBo (2002-10-30 09:29:00) [6]BeginPath(Canvas.Handle);
и далее так же