//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# include & lt; The VCL. H>
# include & lt; Stdlib>
# pragma hdrstop
# include "Unit2. H"
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# pragma package (smart_init)
# pragma link "CGRID
"# pragma link "CSPIN
"# pragma resource "*. DFM
"Int startX;
Int startY;
Int endX;
Int endY.
Int tool=1;
TForm1 * Form1;
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
__fastcall TForm1: : TForm1 (TComponent * Owner)
: TForm (the Owner)
{
Panel1 - & gt; DoubleBuffered=true;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : Image1MouseDown (TObject * Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
StartX=X;
StartY=Y;
Image1 - & gt; Canvas - & gt; MoveTo (X, Y);
Image1 - & gt; Canvas - & gt; Pen - & gt; Color=CColorGrid1 - & gt; ForegroundColor;
Image1 - & gt; Canvas - & gt; Pen - & gt; Width=CSpinEdit1 - & gt; The Value;
If (CSpinEdit1 - & gt; Value> 20)
{Image1 - & gt; Canvas - & gt; Pen - & gt; Width=20. }
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : Image1MouseMove (TObject * Sender, TShiftState Shift,
Int X, int Y)
{
If (Shift. The Contains (ssLeft))
The switch (tool)
{case 1: Image1 - & gt; Canvas - & gt; The LineTo (X, Y); break;
Case 2: Image1 - & gt; Canvas - & gt; The LineTo (X, Y);
Image1 - & gt; Canvas - & gt; Pen - & gt; Width=20. break;
Case 6: Image1 - & gt; Canvas - & gt; The LineTo (X, Y);
Image1 - & gt; Canvas - & gt; Pen - & gt; Width=25;
Image1 - & gt; Canvas - & gt; Pen - & gt; Color=clWhite; break;
Case 7: the for (int I=0; i<50; I++)
{int x=rand () % 20;
Int y=rand () % 20;
Image1 - & gt; Canvas - & gt; Pixels [x] + x/y + y=CColorGrid1 - & gt; ForegroundColor; break;
}
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : Image1MouseUp (TObject * Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
EndX=X;
EndY=Y;
The switch (tool)
{case 3: Image1 - & gt; Canvas - & gt; MoveTo (startX, startY);
Image1 - & gt; Canvas - & gt; The LineTo (endX endY); break;
Case 4: Image1 - & gt; Canvas - & gt; A Rectangle (startX, startY endX, endY); break;
Case 5: Image1 - & gt; Canvas - & gt; The Ellipse (startX, startY endX, endY); break;
}
Image1 - & gt; Canvas - & gt; Brush - & gt; Style=bsClear;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton1Click (TObject * Sender)
{
Tool=1;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton2Click (TObject * Sender)
{
Tool=2;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton3Click (TObject * Sender)
{
Tool=3;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton4Click (TObject * Sender)
{
Tool=4;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton5Click (TObject * Sender)
{
Tool=5;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton6Click (TObject * Sender)
{
Tool=6;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton7Click (TObject * Sender)
{
Tool=7.
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : SpeedButton8Click (TObject * Sender)
{
Tool=8;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
CodePudding user response:
Void __fastcall TForm1: : Image1MouseMove (TObject * Sender, TShiftState Shift,Int X, int Y)
{
If (Shift. The Contains (ssLeft))
The switch (tool)
{case 1: Image1 - & gt; Canvas - & gt; The LineTo (X, Y); break;
Case 2: Image1 - & gt; Canvas - & gt; The LineTo (X, Y);
Image1 - & gt; Canvas - & gt; Pen - & gt; Width=20. break;
Case 6: Image1 - & gt; Canvas - & gt; The LineTo (X, Y);
Image1 - & gt; Canvas - & gt; Pen - & gt; Width=25;
Image1 - & gt; Canvas - & gt; Pen - & gt; Color=clWhite; break;
Case 7: the for (int I=0; i<50; I++)
{int x=rand () % 20;
Int y=rand () % 20;
Image1 - & gt; Canvas - & gt; Pixels [x] + x/y + y=CColorGrid1 - & gt; ForegroundColor; break;
}
}
Braces don't match
CodePudding user response:
The original poster also code function too much, actually can be merged into one, refer to:Unified handling eliminating repetitive code using control Tag attribute
http://blog.163.com/tab_98/blog/static/1192409720166310186242/nullnullnullnullnullnullnullnullnullnullnullnullnull