Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
17.04.2013
Размер:
1.83 Кб
Скачать
//---------------------------------------------------------------------------


#pragma hdrstop

#include "Unit2.h"


//---------------------------------------------------------------------------

#pragma package(smart_init)

Strelka::Strelka(TImage* _Img)
{
Img=_Img;
len=100;
x0=Img->Width/2;
y0=Img->Height/2;
ang=pi/2;
SetAngle(pi/2);
for (int i=0;i<24;i++)
        {
        Img->Canvas->Font->Color=clBlue;
        Img->Canvas->Brush->Style=bsClear;
        AnsiString ss=IntToStr(i);
        if (i<10) ss="0"+ss;
        Img->Canvas->TextOutA(x0-7+120*cos(+pi/2-i/24.*2*pi),y0-5-120*sin(+pi/2-i/24.*2*pi),ss);
        }
}

Strelka::SetAngle(double Angle)
{
Img->Canvas->Pen->Width=2;
Img->Canvas->Pen->Color=clWhite;
Img->Canvas->PenPos=TPoint(x0,y0);
Img->Canvas->LineTo(x0+len*cos(ang),y0-len*sin(ang));
Img->Canvas->Pen->Color=clRed;

Img->Canvas->PenPos=TPoint(x0,y0);
Img->Canvas->LineTo(x0+len*cos(Angle),y0-len*sin(Angle));
ang=Angle;
Img->Canvas->Brush->Style=bsClear;
Img->Canvas->Ellipse(x0-100,y0-100,x0+100,y0+100);
Img->Canvas->Brush->Style=bsSolid;
Img->Canvas->Brush->Color=clRed;
Img->Canvas->Ellipse(x0-5,y0-5,x0+5,y0+5);
for (int i=0;i<24;i++)
        {
        int e=4;
        Img->Canvas->Ellipse(-e+x0+100*cos(+pi/2-i/24.*2*pi),-e+y0-100*sin(+pi/2-i/24.*2*pi),e+x0+100*cos(+pi/2-i/24.*2*pi),e+y0-100*sin(+pi/2-i/24.*2*pi));
        }
}

SuperStrelka::SuperStrelka(TImage* _Img, int _len):Strelka(_Img)
{
Img=_Img;
len=_len;
x0=Img->Width/2;
y0=Img->Height/2;
ang=pi/2;
SetAngle(pi/2,len);
}

SuperStrelka::SetAngle(double Angle, int _len)
{
Img->Canvas->Pen->Width=2;
Img->Canvas->Pen->Color=clWhite;
Img->Canvas->PenPos=TPoint(x0,y0);
Img->Canvas->LineTo(x0+len*cos(ang),y0-len*sin(ang));
len=_len;
Strelka::SetAngle(Angle);
}
Соседние файлы в папке защита