}
//finishingImg = bmp;
// DrawTools_Graphics = pictureBox1->CreateGraphics();
然后就是功能实现部分的代码:
private: System::Void toolStripButton5_Click(System::Object^ sender, System::EventArgs^ e) { }
private: System::Void toolStripButton1_Click(System::Object^ sender, System::EventArgs^ e) { }
private: System::Void toolStripButton2_Click(System::Object^ sender, System::EventArgs^ e) { }
private: System::Void toolStripButton3_Click(System::Object^ sender, System::EventArgs^ e) { }
private: System::Void toolStripButton4_Click(System::Object^ sender, System::EventArgs^ e) { }
private: System::Void pictureBox1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e){ }
private: System::Void pictureBox1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
newGraphics->DrawLine(pen, startPointF, currentPointF);
Thread::Sleep(6);
if (startdraw == true){
if (sType == \){
newGraphics = Graphics::FromImage(finishingImg); PointF currentPointF = PointF(e->X, e->Y);
if (e->Button == System::Windows::Forms::MouseButtons::Left){ }
startdraw = true;
startPointF = PointF(e->X, e->Y); sType = \; sType = \; sType = \; sType = \;
colorDialog1->ShowDialog(); pencolor = colorDialog1->Color; pen->Color = pencolor;
}
startPointF = currentPointF; //newGraphics->Dispose;
DrawTools_Graphics->DrawImage(finishingImg, 0, 0);
else if (sType == \){ }
else if (sType == \){ } else{ }
//delete(newGraphics);
Image^ img = orginalImg;
newGraphics = Graphics::FromImage(img);
float width = Math::Abs(e->X - startPointF.X);//确定矩形的宽 float heigth = Math::Abs(e->Y - startPointF.Y);//确定矩形的高 PointF rectStartPointF = startPointF; if (e->X < startPointF.X) { }
if (e->Y < startPointF.Y) { }
newGraphics->FillRectangle(gcnew SolidBrush(pencolor), rectStartPointF.X, newGraphics = Graphics::FromImage(finishingImg); newGraphics->DrawImage(img, 0, 0);//将图片画到中间图片 DrawTools_Graphics->DrawImage(img, 0, 0);
//DrawTools_Graphics->DrawImage(finishingImg, 0, 0);
rectStartPointF.Y = e->Y; rectStartPointF.X = e->X;
if (startdraw) { }
newGraphics = Graphics::FromImage(finishingImg);
newGraphics->FillRectangle(gcnew SolidBrush(Color::White), e->X, e->Y,
DrawTools_Graphics->DrawImage(finishingImg, 0, 0);
20, 20);
rectStartPointF.Y, width, heigth);
}
}
//delete(img);
private: System::Void pictureBox1_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { }
private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { }
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { } }; }
pencolor = Color::Black;
Bitmap^ bmp = gcnew Bitmap(pictureBox1->Width, pictureBox1->Height); orginalImg = bmp; finishingImg = bmp;
DrawTools_Graphics = pictureBox1->CreateGraphics(); newGraphics = Graphics::FromImage(orginalImg); newGraphics->DrawImage(finishingImg, 0, 0); startdraw = false;
// newGraphics->Dispose();
第二个是计算器,计算器的设计是最花费时间的,首先我们需要进行界面的设计,为了完成简单的计算,设计了两个float变量一个存计算的结果一个存用户点击的数字,还有一个字符变量用于存储用户点击的运算方式,当用户点击等于号的时候,就将两个float变量进行运算,再通过update函数更新运算结果到界面上。
众所周知,计算器大量应用于物理数学等领域,若直接根据公式手动计算的话,计算量较大,十分不方便。因此在这次c++实践中,我选择用CLR做了计算器系统,只需在对应的位置中输入数值和运算符,即可求出解,降低了运算的麻烦,为广大学生及相应学科工作者提供方便。 设计界面图:
重要函数模块:
对输入的数字进行判断:
private: System::Void button1_Click(System::Object^ { label1->Text=\; m=0;
} private: System::Void button2_Click(System::Object^ { textBox1->Text=m.ToString(); } private: System::Void button3_Click(System::Object^ { m=Double::Parse(textBox1->Text); label1->Text=\;
} private: System::Void button4_Click(System::Object^ { m=m+Double::Parse(textBox1->Text); /*textBox1->Text=m.ToString();*/ } private: System::Void button5_Click(System::Object^ {
m=m-Double::Parse(textBox1->Text); sender, System::EventArgs^ sender, System::EventArgs^ sender, System::EventArgs^ sender, System::EventArgs^ sender, System::EventArgs^ e) e)
e)
e)
e)
相关推荐: