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

📄 计算三角形面积并可自由改变边长.frm

📁 Visual Basic课程举例1 有很好的例题
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "三角面积PLUS"
   ClientHeight    =   5250
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   7410
   BeginProperty Font 
      Name            =   "宋体"
      Size            =   12
      Charset         =   134
      Weight          =   700
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkTopic       =   "Form1"
   ScaleHeight     =   5250
   ScaleWidth      =   7410
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command1 
      Caption         =   "计算"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   15.75
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   675
      Left            =   6000
      TabIndex        =   3
      Top             =   480
      Width           =   1035
   End
   Begin VB.TextBox T3 
      Appearance      =   0  'Flat
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   360
      Left            =   2760
      TabIndex        =   2
      Text            =   "5490.02"
      Top             =   3840
      Width           =   1155
   End
   Begin VB.TextBox T2 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   300
      Left            =   1200
      TabIndex        =   1
      Text            =   "3897.84"
      Top             =   2160
      Width           =   975
   End
   Begin VB.TextBox T1 
      Alignment       =   1  'Right Justify
      Appearance      =   0  'Flat
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   300
      Left            =   3960
      TabIndex        =   0
      Text            =   "5260.55"
      Top             =   2040
      Width           =   1035
   End
   Begin VB.Label Label1 
      Caption         =   "程序用法:用鼠标拖动三个顶点,然后点“计算”得到三角面积"
      Height          =   255
      Left            =   0
      TabIndex        =   4
      Top             =   0
      Width           =   7335
   End
   Begin VB.Shape S3 
      FillColor       =   &H000000FF&
      FillStyle       =   0  'Solid
      Height          =   255
      Left            =   720
      Top             =   3840
      Width           =   255
   End
   Begin VB.Shape S2 
      FillColor       =   &H000000FF&
      FillStyle       =   0  'Solid
      Height          =   255
      Left            =   2400
      Top             =   360
      Width           =   255
   End
   Begin VB.Shape S1 
      FillColor       =   &H000000FF&
      FillStyle       =   0  'Solid
      Height          =   255
      Left            =   6360
      Top             =   3840
      Width           =   255
   End
   Begin VB.Line L1 
      BorderWidth     =   5
      X1              =   6480
      X2              =   2520
      Y1              =   3960
      Y2              =   480
   End
   Begin VB.Line L3 
      BorderWidth     =   5
      X1              =   960
      X2              =   6480
      Y1              =   3960
      Y2              =   3960
   End
   Begin VB.Line L2 
      BorderWidth     =   5
      X1              =   2520
      X2              =   840
      Y1              =   480
      Y2              =   3960
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' VB综合程序举例
' 选择结构和函数
'
'作者:曹新国
'日期:2008年3月24日

Dim VN As Integer

Private Sub Command1_Click()
    '定义4个单精度实型变量
    Dim a!, b!, c!, S!, Aarea!
    
    'Text是TextBox的默认属性,可以不写
    a = Val(T1)
    b = Val(T2)
    c = Val(T3.Text)
    
    S = 1 / 2 * (a + b + c)
    area = Sqr(S * (S - a) * (S - b) * (S - c))
    
    MsgBox "三角面积 = " & Format(area, "#.00")

End Sub

'鼠标按下时,让选中的小方框变色,并记录下顶点编号
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    With S1
    If X < .Left + .Width And X > .Left And Y > .Top And Y < .Top + .Height Then
        .FillColor = vbYellow
        VN = 1
    End If
    End With
    With S2
    If X < .Left + .Width And X > .Left And Y > .Top And Y < .Top + .Height Then
        .FillColor = vbYellow
        VN = 2
    End If
    End With
    With S3
    If X < .Left + .Width And X > .Left And Y > .Top And Y < .Top + .Height Then
        .FillColor = vbYellow
        VN = 3
    End If
    End With

End Sub

'如果是拖动鼠标,小移动小方框及相连接的线头,并修改文本框中的线长值
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If VN = 0 Then Exit Sub
    
    If VN = 1 Then
        L1.X1 = X
        L1.Y1 = Y
        L3.X2 = X
        L3.Y2 = Y
        
        S1.Left = X - S1.Width / 2
        S1.Top = Y - S1.Height / 2
    End If
    
    
    If VN = 2 Then
        L2.X1 = X
        L2.Y1 = Y
        L1.X2 = X
        L1.Y2 = Y
        S2.Left = X - S2.Width / 2
        S2.Top = Y - S2.Height / 2
    
    End If

    If VN = 3 Then
        L3.X1 = X
        L3.Y1 = Y
        L2.X2 = X
        L2.Y2 = Y
        S3.Left = X - S3.Width / 2
        S3.Top = Y - S3.Height / 2
    End If
    
    With L1
        T1.Left = (.X1 + .X2) / 2 - T1.Width / 2
        T1.Top = (.Y1 + .Y2) / 2 - T1.Height / 2
        T1.Text = Format(Sqr((.X2 - .X1) ^ 2 + (.Y2 - .Y1) ^ 2), "0.00")
    End With
    With L2
        T2.Left = (.X1 + .X2) / 2 - T2.Width / 2
        T2.Top = (.Y1 + .Y2) / 2 - T2.Height / 2
        T2.Text = Format(Sqr((.X2 - .X1) ^ 2 + (.Y2 - .Y1) ^ 2), "0.00")
    End With
    With L3
        T3.Left = (.X1 + .X2) / 2 - T3.Width / 2
        T3.Top = (.Y1 + .Y2) / 2 - T3.Height / 2
        T3.Text = Format(Sqr((.X2 - .X1) ^ 2 + (.Y2 - .Y1) ^ 2), "0.00")
    End With

End Sub

'鼠标放开时,去掉“热点”,并将顶点编号清零
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If VN = 1 Then S1.FillColor = vbRed
    If VN = 2 Then S2.FillColor = vbRed
    If VN = 3 Then S3.FillColor = vbRed
    VN = 0
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -