.


:




:

































 

 

 

 


CreateWnd().




: .

: , , ' .

:

, , .

C++ Builder , . , C++ Builder . .

C++ Builder. C++ Builder, . C++ Builder , . C++ Builder , , .

() (). , . . . , (, , Windows .)

. , , .

C++ Builder : , .

, , . , .

TOsnova :

1. .

2. .

3. , .

4. C++Builder.

. , .

, TCustomControl.. TCustomControl , Handle ( ) Canvas ( ). TCustomControl , , , .

TMarshrut Shar, . , TCustomGraphic.

. Component New Component. (Ancestor type) - TCustomControl, (Class Name) - TOsnova, , (Palette page) - Samples, , . C++ Builder .

 

TMarshrut Shar. h - #include.

. TMarshrut Shar , Paint():

virtual void __fastcall Paint();

Paint() . Paint() Shar:

void __fastcall TShar::Paint()

{

Canvas->Brush->Color=clGreen;

Shar->Width=(Dd)/2;

Shar->Height=(Dd)/2;

Canvas->Ellipse(0,0,Shar->Width,Shar->Height);

}

Paint() TMarshrut

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

//

void __fastcall TMarshrut::Paint()

{

Canvas->Brush->Color=clRed;

Marshrut->Ris_Marshrut(D/2);

Canvas->Brush->Color=clBtnFace;

Marshrut->Ris_Marshrut(d/2);

}

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

Ris_Marshrut(int R) ( protected Marshrut):

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

//

void __fastcall TMarshrut::Ris_Marshrut(int R)

{

Marshrut->Canvas->Ellipse(Marshrut->Width/2-R,Marshrut->Height/2-R,

Marshrut->Width/2+R,Marshrut->Height/2+R);

}

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

(, ..) , Paint() Ris_Marshrut (int R).

Marshrut.

TOsnova.

__fastcall TOsnova::TOsnova(TComponent* Owner): TCustomControl(Owner)

{

Width=200;//

Height=200;//

D=this->Width/5*4;//

d=this->Width/5*3; //

a=0;//

N=true;//

FSkorosty=20;//

}

TMarshrut Shar void __fastcall CreateWnd().

, FSkorosty. int. , , , . FSkorosty private. - ( __published)

__property int Skorosty = { read=FSkorosty, write=SetSkorosty },

.

Skorosty , SetSkorosty

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

void __fastcall TOsnova::SetSkorosty(int Skorosty)

{

FSkorosty=Skorosty;

if (FSkorosty<5) FSkorosty=5; // FSkorosty=0,

SetTimer(Handle, 1, FSkorosty, 0);

}

4

protected.

CreateWnd().

TMarshrut Shar. TOsnova, :

Control has no parent window ( ). CreateWnd().

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

void __fastcall TOsnova::CreateWnd()

{

if (ComponentState.Contains(csDestroying))

return; // -

TCustomControl::CreateWnd(); //

Marshrut=new TMarshrut(this); //

Marshrut->Parent=this;

Marshrut->Width=this->Width;

Marshrut->Height=this->Height;

Shar=new TShar(this); //

Shar->Parent=this;

Shar->Width=(Dd)/2;

Shar->Height=(Dd)/2;

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

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

if (ComponentState.Contains(csDesigning))

return; // -

else //

SetTimer(Handle, 1, FSkorosty, 0);

}

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

CreateWnd() , . , SetTimer() .





:


: 2016-12-18; !; : 301 |


:

:

! . .
==> ...

1781 - | 1576 -


© 2015-2024 lektsii.org - -

: 0.023 .