![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Возможно ли на TImageSprite написать текст? [D6, WinXP]
Vius © (2002-08-15 18:28:00)Возможно ли на TImageSprite написать текст наподобие метода DXDraw.Surface.Canvas.TextOut или создать самому свойство Canvas?
Vius (2002-08-16 11:45:00) [1]Спасибо большое Владимир за помощь, это мне очень помогло, работает отлично!!!
Vius (2002-08-16 11:44:00) [2]Спасибо большое за помощь, это мне очень помогло, работает отлично!!!
Владимир Васильев (2002-08-16 11:10:00) [3]
TProgress = class(TImageSprite)
private
FPosition : integer;
FMin : integer;
FMax : integer;
protected
public
FCaption : string;
procedure DoDraw; override;
property Position : integer read FPosition write FPosition ;
property Min : integer read FMin write FMin ;
property Max : integer read FMax write FMax ;
end;
procedure TProgress.DoDraw;
Var
ImageIndex: Integer;
begin
if FCaption<>"" then
With MainForm.DXDraw.Surface.Canvas do
begin
//font.color:=clAqua;
//font.color:=clFuchsia;
//font.color:=clYellow;
Brush.Style := bsClear;
font.color:=clRed;
font.Name:="Arial";
font.Size:=10;
font.Style:=[fsBold];
TextOut(Trunc(X)+10,Trunc(Y)+font.Height + 6 ,FCaption+" "+IntToStr(FPosition) );
Release;
end;
//inherited;
AnimPos := FPosition-1;
if AnimPos <0 then Exit;
ImageIndex:=AnimStart+Trunc(AnimPos);
//Image.Draw(Engine.Surface,Trunc(WorldX),Trunc(WorldY),ImageIndex);
//if Engine not defined for TProgress
Image.Draw(MainForm.DXDraw.Surface,Trunc(X),Trunc(Y),ImageIndex);
end;