📄 输入图形界面.frm
字号:
bb = Val(xval.Text)
Else 'If Cengtot / Picture1.Height < Kuatot / Picture1.Width Then
xval.Text = Int(Kuatot * 1.2 * 1000 * F)
bb = Int(Kuatot * 1.2 * 1000 * F)
aa = bb / (Picture1.Width - 1000)
yval.Text = Int((Picture1.Height - 1000) * aa)
cc = Val(yval.Text)
End If
End If
Call 坐标系(aa, bb, cc)
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Lxdel, Lydel
Dim i As Integer
Static X1, Y1
X1 = Int(X + 0.5): Y1 = Int(Y + 0.5)
Select Case Drawp
Case 0
Case 1
If Button = 1 Then xmd = Int(X1): ymd = Int(Y1): Line1(0).Visible = True
If Button = 2 Then
Lxadd = 0: Lyadd = 0
If xmd1 = xmd And ymd1 <> ymd Then Lxadd = xmd: Call Lxaddpro(Max(ymd, ymd1))
If ymd1 = ymd And xmd1 <> xmd Then Lyadd = ymd: Call Lyaddpro(Max(xmd, xmd1))
Line1(0).Visible = False
' Picture1.Line (xmd, ymd)-(xmd1, ymd1)
command.Text = Str(Lxadd) + "," + Str(Lyadd)
command.Text = command.Text + Str(xmd * Gridx) + "," + Str(ymd * Gridy) + "-" + Str(xmd1 * Gridx) + "," + Str(ymd1 * Gridy) + vbCrLf
End If
Case 4
Lxdel = X1: Lydel = Y1
Call Dellxy(Lxdel, Lydel)
Case 5
If Button = 1 Then
If Buttoned = 1 Then
xmd = Int(X1): ymd = Int(Y1): Buttoned = 2: Line1(0).Visible = True
Else
xmd = Int(X1): ymd = Int(Y1)
Call Editxy(xmd, ymd)
End If
End If
If Button = 2 Then
If Buttoned = 2 Then
If xmd1 = xmd And ymd1 <> ymd And Ced > 0 Then
For i = 1 To Ced
If Lyed(i) * 1000 / Gridy + ymd1 - ymd > 0 Then
Call Lyedaddpro(Lyed(i) * 1000 / Gridy + ymd1 - ymd)
Else
command.Text = "复制的杆件有负值,本版本不做处理"
End If
Next i
End If
If ymd1 = ymd And xmd1 <> xmd And Ked > 0 Then
For i = 1 To Ked
If Lxed(i) * 1000 / Gridx + xmd1 - xmd > 0 Then
Call Lxedaddpro(Lxed(i) * 1000 / Gridx + xmd1 - xmd)
Else
command.Text = "复制的杆件有负值,本版本不做处理"
End If
Next i
End If
Text1.Visible = False
Line1(0).Visible = False: Call 编辑变量清空
Call 杆件图1(tuxing1.Picture1)
ElseIf Ked > 0 Or Ced > 0 Then
Buttoned = 1
End If
End If
Case 6
If Button = 1 Then
If Buttoned = 1 Then
xmd = Int(X1): ymd = Int(Y1): Buttoned = 2: Line1(0).Visible = True
Else
xmd = Int(X1): ymd = Int(Y1)
Call Editxy(xmd, ymd)
End If
End If
If Button = 2 Then
If Buttoned = 2 Then
If xmd1 = xmd And ymd1 <> ymd And Ced > 0 Then
For i = 1 To Ced
If Lyed(i) * 1000 / Gridy + ymd1 - ymd > 0 Then
Call Lyedaddpro(Lyed(i) * 1000 / Gridy + ymd1 - ymd)
Call Dellxy(0, Lyed(i) * 1000 / Gridy)
Else
command.Text = "移动的杆件有负值,本版本不做处理"
End If
Next i
End If
If ymd1 = ymd And xmd1 <> xmd And Ked > 0 Then
For i = 1 To Ked
If Lxed(i) * 1000 / Gridx + xmd1 - xmd > 0 Then
Call Lxedaddpro(Lxed(i) * 1000 / Gridx + xmd1 - xmd)
Call Dellxy(Lxed(i) * 1000 / Gridx, 0)
Else
command.Text = "移动的杆件有负值,本版本不做处理"
End If
Next i
End If
Text1.Visible = False
Line1(0).Visible = False: Call 编辑变量清空
Call 杆件图1(tuxing1.Picture1)
ElseIf Ked > 0 Or Ced > 0 Then
Buttoned = 1
End If
End If
End Select
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static X1, Y1
X1 = Int(X + 0.5): Y1 = Int(Y + 0.5)
StatusBar1.Panels(1).Text = Str(Int(Val(X1)) * Gridx) + "," + Str(Int(Val(Y1)) * Gridy)
Select Case Drawp
Case 0
Picture1.MousePointer = 12
Case 1
Picture1.MousePointer = 2
If xmd > 0 Or xmd = 0 Then
If Abs(X1 - xmd) < Abs(Y1 - ymd) Then
Line1(0).X1 = xmd: Line1(0).x2 = xmd: Line1(0).Y1 = ymd: Line1(0).y2 = Y1
xmd1 = xmd: ymd1 = Int(Y1)
End If
If Abs(X1 - xmd) > Abs(Y1 - ymd) Then
Line1(0).X1 = xmd: Line1(0).x2 = X1: Line1(0).Y1 = ymd: Line1(0).y2 = ymd
xmd1 = Int(X1): ymd1 = ymd
End If
End If
Case 4
Picture1.MousePointer = 99
Case 5
If Buttoned = 2 Then
Picture1.MousePointer = 2
If xmd > 0 Or xmd = 0 Then
If Abs(X1 - xmd) < Abs(Y1 - ymd) And Ced > 0 Then
Line1(0).X1 = xmd: Line1(0).x2 = xmd: Line1(0).Y1 = ymd: Line1(0).y2 = Y1
xmd1 = xmd: ymd1 = Int(Y1): Text1.Visible = True: Text1.SetFocus
Text1.Text = (ymd1 - ymd) * Gridy: Text1.Left = -100 / Gridx - Text1.Width: Text1.Top = ymd1 - Text1.Height / 2 / Gridy
' Call 杆件图1(tuxing1.Picture1)
Call 杆件图3(tuxing1.Picture1)
End If
If Abs(X1 - xmd) > Abs(Y1 - ymd) And Ked > 0 Then
Line1(0).X1 = xmd: Line1(0).x2 = X1: Line1(0).Y1 = ymd: Line1(0).y2 = ymd
xmd1 = Int(X1): ymd1 = ymd: Text1.Visible = True: Text1.SetFocus
Text1.Text = (xmd1 - xmd) * Gridx: Text1.Left = xmd1: Text1.Top = -300 / Gridy
' Call 杆件图1(tuxing1.Picture1)
Call 杆件图3(tuxing1.Picture1)
End If
End If
ElseIf Buttoned = 1 Then
Picture1.MousePointer = 2
Else
Picture1.MousePointer = 99
End If
Case 6
If Buttoned = 2 Then
Picture1.MousePointer = 2
If xmd > 0 Or xmd = 0 Then
If Abs(X1 - xmd) < Abs(Y1 - ymd) And Ced > 0 Then
Line1(0).X1 = xmd: Line1(0).x2 = xmd: Line1(0).Y1 = ymd: Line1(0).y2 = Y1
xmd1 = xmd: ymd1 = Int(Y1): Text1.Visible = True: Text1.SetFocus
Text1.Text = (ymd1 - ymd) * Gridy: Text1.Left = -100 / Gridx - Text1.Width: Text1.Top = ymd1 - Text1.Height / 2 / Gridy
' Call 杆件图1(tuxing1.Picture1)
Call 杆件图3(tuxing1.Picture1)
End If
If Abs(X1 - xmd) > Abs(Y1 - ymd) And Ked > 0 Then
Line1(0).X1 = xmd: Line1(0).x2 = X1: Line1(0).Y1 = ymd: Line1(0).y2 = ymd
xmd1 = Int(X1): ymd1 = ymd: Text1.Visible = True: Text1.SetFocus
Text1.Text = (xmd1 - xmd) * Gridx: Text1.Left = xmd1: Text1.Top = -300 / Gridy
' Call 杆件图1(tuxing1.Picture1)
Call 杆件图3(tuxing1.Picture1)
End If
End If
ElseIf Buttoned = 1 Then
Picture1.MousePointer = 2
Else
Picture1.MousePointer = 99
End If
End Select
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim Jingx As Single
Dim Jingy As Single
If KeyAscii = 13 Then
If xmd1 <> xmd And ymd = ymd1 Then xmd1 = xmd + Text1.Text / Gridx: Line1(0).x2 = xmd + Text1.Text / Gridx
If xmd1 = xmd And ymd <> ymd1 Then ymd1 = ymd + Text1.Text / Gridy: Line1(0).y2 = ymd + Text1.Text / Gridy
Jingx = xmd1: jigny = ymd1
Call Picture1_MouseDown(2, 0, Jingx, Jingy)
End If
End Sub
Private Sub xval_KeyPress(KeyAscii As Integer)
If Val(xval.Text) <> 0 And KeyAscii = 13 Then
bb = xval.Text
aa = bb / (Picture1.Width - 1000)
yval.Text = Int((Picture1.Height - 1000) * aa)
cc = yval.Text
Call 坐标系(aa, bb, cc)
End If
End Sub
Private Sub yval_KeyPress(KeyAscii As Integer)
If Val(yval.Text) <> 0 And KeyAscii = 13 Then
cc = yval.Text
aa = cc / (Picture1.Height - 1000)
xval.Text = Int((Picture1.Width - 1000) * aa)
bb = xval.Text
Call 坐标系(aa, bb, cc)
End If
End Sub
Function Max(dataa, datab)
Max = dataa
If dataa < datab Then Max = datab
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -