Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Возможно ли на 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо