Курсовая работа: Построение компоненты в Builder C++

Shar->Left=(this->Width-D)/2+D-Shar->Width;

Shar->Top=this->Height/2-Shar->Height/2;

this->Canvas->Font->Size=this->Height/20;

this->Canvas->TextOutA(this->Width/4,3,"Моякомпонента");

this->Invalidate();//перерисовываем компоненту

N=false;//больше сюда не заходим

}

a+=0.2;//увеличиваем значение угла поворота (процесс движения)

Shar->Left=(Marshrut->Width-(D-(D-d)/2))/2+(D-(D-d)/2)/2+(D-(D-d)/2)/2*cos(a)-

Shar->Width/2;

Shar->Top=(Marshrut->Height-(D-(D-d)/2))/2+(D-(D-d)/2)/2-(D-(D-d)/2)/2*sin(a)-

Shar->Height/2;

}

}

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

Сначала вызывается метод базового класса TCustomControl::WndProc(Message), затем устанавливаются новые размеры (если они были изменены), вызывается функция Invalidate() для перерисовки компоненты, и присваиваются новые координаты шарику.

8 Переопределение метода CanResize(int &NewWidth, int &NewHeight).

Если пользователь изменит размеры компоненты в режиме разработки, пропорционально должны измениться размеры всех объектов, из которых состоит компонента.

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

bool __fastcall TOsnova::CanResize(int &NewWidth, int &NewHeight)

{//изменяем

if (ComponentState.Contains(csDesigning))

{

D=this->Width/5*4; // диаметрыокружностей

d=this->Width/5*3;

Marshrut->Width=this->Width; //размерыэкз. классаТMarshrut

Marshrut->Height=this->Height;

Shar->Width=(D-d)/2; //размерыэкз. классаТShar

Shar->Height=(D-d)/2;

Shar->Left=(this->Width-D)/2+D-Shar->Width;

К-во Просмотров: 513
Бесплатно скачать Курсовая работа: Построение компоненты в Builder C++