Π Π°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² ΡΡΠ΅Π΄Π΅ Borland C++ Builder
PatBlt (PaintBox_front→Canvas→Handle, 0, 0, PaintBox_front→Width, PaintBox_front→Height, clBtnFace); PatBlt (PaintBox_back→Canvas→Handle, 0, 0, PaintBox_back→Width, PaintBox_back→Height, clBtnFace); PatBlt (PaintBox_back→Canvas→Handle, 0, 0, PaintBox_back→Width, PaintBox_back→Height, clBtnFace); CircObjMass→init (CSpinEditRadius→Value, CSpinEditLine→Value, generate_start… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² ΡΡΠ΅Π΄Π΅ Borland C++ Builder (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π Π°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² ΡΡΠ΅Π΄Π΅ Borland C++ Builder
Π’Π΅ΠΌΠ°: Π Π°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² ΡΡΠ΅Π΄Π΅ Borland C++ Builder.
Π¦Π΅Π»Ρ: Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² Borland C++ Builder.
ΠΠ°Π΄Π°Π½ΠΈΠ΅: ΠΠ»Π°ΡΡ «Π¦Π²Π΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΠΎΡ». ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ: Π²ΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΎΠ»ΡΠΈΠ½Ρ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΠ°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ .
1. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
TLabel — Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π°Π΄ΠΏΠΈΡΠ΅ΠΉ (ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°).
TSpinEdit — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΡΡΠΎΠ²Π½ΠΈ RGB-ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠ²Π΅ΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π΄ΠΈΡΡΠ°, ΡΠΎΠ»ΡΠΈΠ½Ρ).
TSpeedButton — ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
TBitMap — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Canvas Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²Π΅ΡΠ½ΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΠΎΡΠΎΠ².
TGroupBox — ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Windows, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (Π½Π° Π½Π΅ΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ TLabel, TSpinEdit, TSpeedButton).
2. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
Show — ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° ΡΠΎΡΠΌΡ.
MouseDown — ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
MouseUp — ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡΠΆΠ°ΡΠΈΡ (ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΡ) ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
Click — ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Change — ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΠΊΡΠΎΡΠ° (ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ, ΡΠ°Π΄ΠΈΡΡΠ°, ΡΠΎΠ»ΡΠΈΠ½Ρ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΠ°).
3. ΠΠΊΠ½ΠΎ ΡΠΎΡΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
4. ΠΠΊΠ½ΠΎ ΡΠΎΡΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
5. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°) Π€Π°ΠΉΠ» PiePaint. h — Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° TCircObj.
class TCircObj
{ public:
void init (int radius, int width, TPoint start_angle, TPoint stop_angle, TColor color_print, TColor color_line);
void set_centre (int x, int y);
void paint (TCanvas *canvas_paint);
bool get_created (void);
bool get_fixed (void);
void set_fixed (void);
TCircObj (); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°
private:
TPoint centre; // ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π½ΡΡΠ° ΡΠ΅ΠΊΡΠΎΡΠ°
int radius; // ΡΠ°Π΄ΠΈΡΡ ΡΠ΅ΠΊΡΠΎΡΠ° (Π² ΡΠΎΡΠΊΠ°Ρ )
int width; // ΡΠΎΠ»ΡΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ (Π² ΡΠΎΡΠΊΠ°Ρ )
TPoint start_angle; // Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ³ΠΎΠ» ΡΠ΅ΠΊΡΠΎΡΠ°
TPoint stop_angle; // ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ³ΠΎΠ» ΡΠ΅ΠΊΡΠΎΡΠ°
TColor color_print; // ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΠΎΡΠ°
TColor color_line; // ΡΠ²Π΅Ρ Π»ΠΈΠ½ΠΈΠΈ
bool created; // ΡΠ»Π°Π³ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
bool fixed; // ΡΠ»Π°Π³ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
};
Π€Π°ΠΉΠ» PiePaint. cpp — ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° TCircObj
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ — ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΡΠ»ΡΠΌΠΈ
TCircObj:TCircObj ()
{
this->centre.x = 0;
this->centre.y = 0;
this->radius = 0;
this->start_angle.x = -1;
this->start_angle.y = 1;
this->stop_angle.x = 1;
this->stop_angle.y = 1;
this->color_print = clBlack;
this->created = false;
this->fixed = false;
}
// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ
void TCircObj: init (int radius, int width, TPoint start_angle, TPoint stop_angle, TColor color_print, TColor color_line)
{ // ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π΄ΠΈΡΡΠ° ΡΠ΅ΠΊΡΠΎΡΠ°
this->radius = radius;
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ³Π»ΠΎΠ² ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΠΎΡΠ°
this->start_angle.x = start_angle.x;
this->start_angle.y = start_angle.y;
this->stop_angle.x = stop_angle.x;
this->stop_angle.y = stop_angle.y;
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΠΎΡΠ°
this->color_print = color_print;
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ»ΡΠΈΠ½Ρ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΠ°
this->width = width;
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΠ°
this->color_line = color_line;
// ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ «ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ»
this->fixed = false;
// ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ
this->created = true;
}
// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Π½ΡΡΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΠΎΡΠ°
void TCircObj: set_centre (int x, int y)
{
this->centre.x += x;
this->centre.y += y;
}
// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»Π°Π³Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
bool TCircObj: get_created (void)
{
return this->created;
}
// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»Π°Π³Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
bool TCircObj: get_fixed (void)
{
return this->fixed;
}
// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ»Π°Π³Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
void TCircObj: set_fixed (void)
{
this->fixed = true;
}
// ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
void TCircObj: paint (TCanvas *canvas_paint)
{
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΊΡΠΎΡΠ°
canvas_paint->Brush->Color = this->color_print;
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΡΠ°
canvas_paint->Pen->Color = this->color_line;
canvas_paint->Pen->Width = this->width;
// ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ³Π»ΠΎΠ²
canvas_paint->Pie (this->centre.x,
this->centre.y,
this->centre.x+this->radius*2,
this->centre.y+this->radius*2,
this->centre.x+this->radius+this->start_angle.x,
this->centre.y+this->radius+this->start_angle.y,
this->centre.x+this->radius+this->stop_angle.x,
this->centre.y+this->radius+this->stop_angle.y);
}
Π€Π°ΠΉΠ» PiePaint. cpp — ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ.
void __fastcall TForm1: PaintBox_PaintMouseDown (TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Button == mbLeft &&
PaintBox_front->Canvas->Pixels[X][Y] ≠ backgroundcolor &&
PaintBox_front->Canvas->Pixels[X][Y] ≠ 0)
{
drag = 1;
start.x = X;
start.y = Y;
}
}
//—————————————————————————————————————;
void __fastcall TForm1: PaintBox_PaintMouseUp (TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Button == mbLeft && drag == 1)
{
drag = 0;
stop.x = X;
stop.y = Y;
int i=0;
while (CircObjMass[i] ≠ NULL && CircObjMass[i]->get_fixed () ≠ false)
{i++;}
CircObjMass[i]->set_centre (stop.x-start.x, stop. y-start.y);
global_repaint = 1;
PaintBox_PaintClick (NULL);
}
if (Button == mbRight &&
PaintBox_front->Canvas->Pixels[X][Y] ≠ backgroundcolor &&
PaintBox_front->Canvas->Pixels[X][Y] ≠ 0)
{int i=0;
while (CircObjMass[i] ≠ NULL && CircObjMass[i]->get_fixed () ≠ false)
{i++;}
if (i ≠ N)
{CircObjMass[i]->set_fixed ();
SpeedButtonAdd->Enabled = true;
global_repaint = 2;
PaintBox_PaintClick (NULL);
}
}
}
//—————————————————————————————————————;
void __fastcall TForm1: PaintBoxTestClick (TObject *Sender)
{ // ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΈΡΡΠΊΠ°
PaintBoxTest->Canvas->Brush->Color = clBtnFace;
PaintBoxTest->Canvas->FillRect (Canvas->ClipRect);
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΠ°
PaintBoxTest->Canvas->Brush->Color = (TColor)RGB (CSpinEditRed->Value, CSpinEditGreen->Value, CSpinEditBlue->Value);
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΡΠ°
PaintBoxTest->Canvas->Pen->Color = (TColor)RGB (CSpinEditRedL->Value, CSpinEditGreenL->Value, CSpinEditBlueL->Value);
PaintBoxTest->Canvas->Pen->Width = CSpinEditLine->Value;
// ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ³Π»ΠΎΠ²
PaintBoxTest->Canvas->Pie (0,0,CSpinEditRadius->Value*2,CSpinEditRadius->Value*2,
CSpinEditRadius->Value+generate_start.x,
CSpinEditRadius->Value+generate_start.y,
CSpinEditRadius->Value+generate_stop.x,
CSpinEditRadius->Value+generate_stop.y);
}
//—————————————————————————————————————;
void __fastcall TForm1: Button4Click (TObject *Sender)
{
randomize ();
generate_start.x = random (CSpinEditRadius->Value-5);
if (random (200)-100 < 0)
{generate_start.x = -generate_start.x;}
generate_start.y = random (CSpinEditRadius->Value);
if (random (200)-100 < 0)
{generate_start.y = -generate_start.y;}
randomize ();
generate_stop.x = random (CSpinEditRadius->Value+5);
if (random (400)-200 < 0)
{generate_stop.x = -generate_stop.x;}
generate_stop.y = random (CSpinEditRadius->Value);
if (random (400)-200 < 0)
{generate_stop.y = -generate_stop.y;}
PaintBoxTestClick (PaintBoxTest);
}
//—————————————————————————————————————;
void __fastcall TForm1: CSpinEditRadiusChange (TObject *Sender)
{
PaintBoxTestClick (PaintBoxTest);
}
//—————————————————————————————————————;
void __fastcall TForm1: CSpinEditRedChange (TObject *Sender)
{
PaintBoxTestClick (PaintBoxTest);
}
//—————————————————————————————————————;
void __fastcall TForm1: SpeedButtonAddClick (TObject *Sender)
{
int i=0;
while (CircObjMass[i] ≠ NULL)
{i++;}
CircObjMass[i] = new TCircObj ();
CircObjMass[i]->init (CSpinEditRadius->Value, CSpinEditLine->Value, generate_start, generate_stop,
(TColor)RGB (CSpinEditRed->Value, CSpinEditGreen->Value, CSpinEditBlue->Value),
(TColor)RGB (CSpinEditRedL->Value, CSpinEditGreenL->Value, CSpinEditBlueL->Value));
i++;
if (i == N)
{GroupBoxNew->Visible = false;}
SpeedButtonAdd->Enabled = false;
PaintBox_PaintClick (NULL);
}
//—————————————————————————————————————;
void __fastcall TForm1: PaintBox_PaintClick (TObject *Sender)
{
move.x = X_;
move.y = Y_;
PaintBox_front->Canvas->Pen->Color = clBlack;
PaintBox_front->Canvas->Pen->Width = 1;
PatBlt (PaintBox_front->Canvas->Handle, 0, 0, PaintBox_front->Width, PaintBox_front->Height, clBtnFace);
if (global_repaint == 2)
{ PaintBox_back->Canvas->Pen->Color = clBlack;
PaintBox_back->Canvas->Pen->Width = 1;
PatBlt (PaintBox_back->Canvas->Handle, 0, 0, PaintBox_back->Width, PaintBox_back->Height, clBtnFace);
}
for (int i=0; i
{ if (CircObjMass[i] ≠ NULL && CircObjMass[i]->get_fixed () == true && global_repaint == 2)
{CircObjMass[i]->paint (Form1->PaintBox_front->Canvas);
for (int j=0; jPaintBox_front->Height; j++)
{for (int k=0; kPaintBox_front->Width; k++)
{Form1->PaintBox_back->Canvas->Pixels[j][k] =
Form1->PaintBox_back->Canvas->Pixels[j][k]+
Form1->PaintBox_front->Canvas->Pixels[j][k];
}
}
PaintBox_front->Canvas->Pen->Color = clBlack;
PaintBox_front->Canvas->Pen->Width = 1;
PatBlt (PaintBox_front->Canvas->Handle, 0, 0, PaintBox_front->Width, PaintBox_front->Height, clBtnFace);
}
if (CircObjMass[i] ≠ NULL && CircObjMass[i]->get_fixed () ≠ true)
{CircObjMass[i]->paint (Form1->PaintBox_front->Canvas);}
}
global_repaint = 1;
}
//—————————————————————————————————————;
void __fastcall TForm1: FormShow (TObject *Sender)
{ PatBlt (PaintBox_back->Canvas->Handle, 0, 0, PaintBox_back->Width, PaintBox_back->Height, clBtnFace);
PatBlt (PaintBox_front->Canvas->Handle, 0, 0, PaintBox_front->Width, PaintBox_front->Height, clBtnFace);
}
//—————————————————————————————————————;
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ borland duilder ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
5. ΠΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΡΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² Borland C++ Builder.