⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 输入图形界面.frm

📁 钢筋混凝土框架结构设计计算源程序
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            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 + -