VB画图版的原程序
- 格式:docx
- 大小:13.21 KB
- 文档页数:13
Dim startx, starty, x1, y1, drawtype, i, j, a, b, c, d Dim nX, nY As LongPrivate Sub Form_Load()Timer1.Enabled = FalseEnd SubPrivate Sub juxing_Click()drawtype = 3penqiang.Checked = Falseyuan.Checked = Falsezhixian.Checked = Falsejuxing.Checked = Truewenzi.Checked = Falseshouhui.Checked = Falseshanxing.Checked = Falseshanxing.Checked = FalseEnd SubPrivate Sub new_Click()Picture1.Picture = LoadPicture()End SubPrivate Sub open1_Click()cdg1.DialogTitle = "打开图片"cdg1.Filter = "bmp文件|*.bmp|jpg文件|*.jpg|"cdg1.ShowOpenPicture1.Picture = LoadPicture(cdg1.FileName) End SubPrivate Sub Option1_Click()Picture1.ForeColor = vbBlackEnd SubPrivate Sub Option10_Click()Picture1.DrawWidth = 4End SubPrivate Sub Option11_Click()Dim r As Singler = InputBox("请输入线条宽度值:", "自定义") r = Val(r)Picture1.DrawWidth = rEnd SubPrivate Sub Option2_Click()Picture1.ForeColor = vbRedEnd SubPrivate Sub Option3_Click()Picture1.ForeColor = vbBlueEnd SubPrivate Sub Option4_Click()Picture1.ForeColor = vbYellowEnd SubPrivate Sub Option5_Click()Picture1.ForeColor = vbGreenEnd SubPrivate Sub Option6_Click()cdg1.Flags = cdlCFBoth + cdlCFEffects cdg1.ShowColorPicture1.ForeColor = cdg1.ColorEnd SubPrivate Sub Option7_Click()Picture1.DrawWidth = 1End SubPrivate Sub Option8_Click()Picture1.DrawWidth = 2End SubPrivate Sub Option9_Click()Picture1.DrawWidth = 3End SubPrivate Sub penqiang_Click() drawtype = 8penqiang.Checked = True tuoyuan.Checked = False shanxing.Checked = Falseyuan.Checked = Falsezhixian.Checked = Falsejuxing.Checked = Falsewenzi.Checked = Falseshouhui.Checked = FalseEnd SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)startx = Xstarty = Yx1 = Xy1 = YText1.Left = XText1.Top = YPicture1.CurrentX = XPicture1.CurrentY = YIf Button = 1 And drawtype = 8 ThenTimer1.Enabled = TruenX = XnY = YEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case drawtypeCase 1If Button = 1 ThenPicture1.DrawMode = 6Picture1.Circle (startx, starty), Sqr((x1 - startx) ^ 2 + (y1 - starty) ^ 2)Picture1.Circle (startx, starty), Sqr((X - startx) ^ 2 + (Y - starty) ^ 2)y1 = YEnd IfCase 2If Button = 1 ThenPicture1.DrawMode = 6Picture1.Line (startx, starty)-(x1, y1) Picture1.Line (startx, starty)-(X, Y)x1 = Xy1 = YEnd IfCase 3If Button = 1 ThenPicture1.DrawMode = 6Picture1.Line (startx, starty)-(x1, y1), , B Picture1.Line (startx, starty)-(X, Y), , B x1 = Xy1 = YEnd IfCase 4If Button = 1 ThenPicture1.DrawMode = 13Picture1.Line -(X, Y)End IfCase 5If Button = 1 ThenPicture1.DrawMode = 6Picture1.Line (startx, starty)-(x1, y1), , B Picture1.Line (startx, starty)-(X, Y), , By1 = YEnd IfCase 6If Button = 1 ThenPicture1.DrawMode = 6Picture1.Circle (startx, starty), Sqr((x1 - startx) ^ 2 + (y1 - starty) ^ 2), , , , (y1 - starty) / (x1 - startx + 1)Picture1.Circle (startx, starty), Sqr((X - startx) ^ 2 + (Y - starty) ^ 2), , , , (Y - starty) / (X - startx + 1)x1 = Xy1 = YEnd IfCase 7If Button = 1 ThenPicture1.DrawMode = 6Picture1.Circle (startx, starty), Sqr((x1 - startx) ^ 2 + (y1 - starty) ^ 2), , -c * 3.14 / 180, -d * 3.14 / 180Picture1.Circle (startx, starty), Sqr((X - startx) ^ 2 + (Y - starty) ^ 2), , -c * 3.14 / 180, -d * 3.14 / 180x1 = Xy1 = YEnd IfCase 8If Button = 1 ThenTimer1.Enabled = TruenX = XnY = YEnd IfEnd SelectEnd SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case drawtypeCase 1Picture1.DrawMode = 13Picture1.Circle (startx, starty), Sqr((X - startx) ^ 2 + (Y - starty) ^ 2)Case 2Picture1.DrawMode = 13Picture1.Line (startx, starty)-(X, Y)Case 3Picture1.DrawMode = 13Picture1.Line (startx, starty)-(X, Y), , BCase 5Text1.Top = startyText1.Left = startxText1.Text = ""Text1.Visible = TrueText1.SetFocusPicture1.DrawMode = 6Picture1.Line (startx, starty)-(X, Y), , BCase 6Picture1.DrawMode = 13Picture1.Circle (startx, starty), Sqr((X - startx) ^ 2 + (Y - starty) ^ 2), , , , (Y - starty) / (X - startx)Case 7Picture1.DrawMode = 13Picture1.Circle (startx, starty), Sqr((X - startx) ^ 2 + (Y - starty) ^ 2), , -c * 3.14 / 180, -d * 3.14 / 180Case 8Timer1.Enabled = FalseEnd SelectEnd SubPrivate Sub save_Click()cdg1.Filter = ".jpg|*.jpg|.bmp|*.bmp|"cdg1.ShowSaveSavePicture Picture1.Image, cdg1.FileName End SubPrivate Sub shanxing_Click()drawtype = 7penqiang.Checked = Falsetuoyuan.Checked = Falseshanxing.Checked = Trueyuan.Checked = Falsezhixian.Checked = Falsejuxing.Checked = Falsewenzi.Checked = Falseshouhui.Checked = Falsea = InputBox("请输入起始角度:", "输入数据")b = InputBox("请输入终止角度:", "输入数据")c = Val(a)d = Val(b)End SubPrivate Sub shouhui_Click()drawtype = 4penqiang.Checked = Falseyuan.Checked = Falsezhixian.Checked = Falsejuxing.Checked = Falsewenzi.Checked = Falseshouhui.Checked = Trueshanxing.Checked = Falsetuoyuan.Checked = FalseEnd SubPrivate Sub Text1_Click()drawtype = 5End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn ThenText1.Visible = FalsePicture1.CurrentX = startxPicture1.CurrentY = startyPicture1.BorderStyle = Text1.BorderStyle Picture1.FontItalic = TruePicture1.Font = Text1.FontPicture1.FontSize = Text1.FontSizePicture1.FontBold = TruePicture1.ForeColor = Text1.ForeColorPicture1.FontUnderline = Text1.FontUnderline Picture1.FontStrikethru = Text1.FontStrikethruPicture1.Print Text1.TextEnd IfEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case drawtypeCase 5If Button = 2 ThenText1.Enabled = FalseText1.Enabled = TrueForm1.PopupMenu gsEnd IfEnd SelectEnd SubPrivate Sub Timer1_Timer()Picture1.DrawWidth = 1For i = -10 To 10For j = -10 To 10Picture1.PSet (nX + Rnd * i * 100, nY + Rnd * j * 100)Next jNext iEnd SubPrivate Sub tui_Click()EndEnd SubPrivate Sub tuoyuan_Click() drawtype = 6tuoyuan.Checked = True penqiang.Checked = False shanxing.Checked = False yuan.Checked = False zhixian.Checked = False juxing.Checked = False wenzi.Checked = False shouhui.Checked = False End SubPrivate Sub wenzi_Click() drawtype = 5 penqiang.Checked = False yuan.Checked = False zhixian.Checked = False juxing.Checked = False wenzi.Checked = True shouhui.Checked = False tuoyuan.Checked = False shanxing.Checked = False End SubPrivate Sub yuan_Click() drawtype = 1yuan.Checked = True penqiang.Checked = Falsepenqiang.Checked = False zhixian.Checked = Falsejuxing.Checked = Falsewenzi.Checked = Falseshouhui.Checked = FalseEnd SubPrivate Sub zhixian_Click() drawtype = 2penqiang.Checked = Falseyuan.Checked = Falsezhixian.Checked = Truejuxing.Checked = Falsewenzi.Checked = Falseshouhui.Checked = False tuoyuan.Checked = False shanxing.Checked = FalseEnd SubPrivate Sub zt_Click()cdg1.Flags = cdlCFBoth + cdlCFEffects cdg1.FontName = "宋体"cdg1.ShowFontWith Text1.FontName = cdg1.FontName.FontSize = cdg1.FontSize.FontBold = cdg1.FontBold.FontItalic = cdg1.FontItalic.FontUnderline = cdg1.FontUnderline.FontStrikethru = cdg1.FontStrikethru .ForeColor = cdg1.ColorEnd WithEnd Sub。