📄 frmprops.frm
字号:
VERSION 5.00
Begin VB.Form frmProperties
BorderStyle = 3 'Fixed Dialog
Caption = "串口属性配置"
ClientHeight = 4260
ClientLeft = 4140
ClientTop = 1668
ClientWidth = 6012
Icon = "frmProps.frx":0000
LinkTopic = "Form3"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4260
ScaleWidth = 6012
ShowInTaskbar = 0 'False
Begin VB.Frame fraSettings
BorderStyle = 0 'None
Height = 3972
Left = 240
TabIndex = 0
Top = 120
Width = 5445
Begin VB.Frame Frame5
Caption = "握手协议"
Height = 1770
Left = 2595
TabIndex = 13
Top = 1635
Width = 1860
Begin VB.OptionButton optFlow
Caption = "Xon/RTS"
Height = 255
Index = 3
Left = 180
MaskColor = &H00000000&
TabIndex = 17
Top = 1245
Width = 1155
End
Begin VB.OptionButton optFlow
Caption = "RTS"
Height = 255
Index = 2
Left = 180
MaskColor = &H00000000&
TabIndex = 16
Top = 945
Width = 735
End
Begin VB.OptionButton optFlow
Caption = "Xon/Xoff"
Height = 255
Index = 1
Left = 180
MaskColor = &H00000000&
TabIndex = 15
Top = 645
Width = 1095
End
Begin VB.OptionButton optFlow
Caption = "None"
Height = 255
Index = 0
Left = 180
MaskColor = &H00000000&
TabIndex = 14
Top = 345
Width = 855
End
End
Begin VB.CommandButton cmdOK
Caption = "确定"
Default = -1 'True
Height = 300
Left = 1080
MaskColor = &H00000000&
TabIndex = 12
Top = 3600
Width = 1080
End
Begin VB.ComboBox cboPort
Height = 276
Left = 240
Style = 2 'Dropdown List
TabIndex = 11
Top = 960
Width = 1425
End
Begin VB.Frame fraConnection
Caption = "连接属性"
Height = 1770
Left = 180
TabIndex = 4
Top = 1635
Width = 2325
Begin VB.ComboBox cboDataBits
Height = 276
Left = 1050
Style = 2 'Dropdown List
TabIndex = 7
Top = 330
Width = 1140
End
Begin VB.ComboBox cboParity
Height = 276
Left = 1050
Style = 2 'Dropdown List
TabIndex = 6
Top = 810
Width = 1140
End
Begin VB.ComboBox cboStopBits
Height = 276
Left = 1050
Style = 2 'Dropdown List
TabIndex = 5
Top = 1260
Width = 1140
End
Begin VB.Label Label3
Caption = "数据位:"
Height = 285
Left = 180
TabIndex = 10
Top = 375
Width = 825
End
Begin VB.Label Label4
Caption = "奇偶校验:"
Height = 288
Left = 60
TabIndex = 9
Top = 852
Width = 852
End
Begin VB.Label Label5
Caption = "停止位:"
Height = 285
Left = 180
TabIndex = 8
Top = 1320
Width = 885
End
End
Begin VB.Frame Frame1
Caption = "波特率"
Height = 870
Left = 1920
TabIndex = 2
Top = 480
Width = 2460
Begin VB.ComboBox cboSpeed
Height = 276
Left = 375
Style = 2 'Dropdown List
TabIndex = 3
Top = 330
Width = 1695
End
End
Begin VB.CommandButton cmdCancel
Caption = "取消"
Height = 300
Left = 2880
TabIndex = 1
Top = 3600
Width = 1080
End
Begin VB.Label Label1
Caption = "串口:"
Height = 312
Left = 240
TabIndex = 18
Top = 600
Width = 492
End
End
End
Attribute VB_Name = "frmProperties"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private iFlow As Integer
Sub LoadPropertySettings()
Dim i As Integer, Settings As String, Offset As Integer
'加载串口设定
For i = 1 To 16
cboPort.AddItem "Com" & Trim$(Str$(i))
Next i
' Load Speed Settings
cboSpeed.AddItem "110"
cboSpeed.AddItem "300"
cboSpeed.AddItem "600"
cboSpeed.AddItem "1200"
cboSpeed.AddItem "2400"
cboSpeed.AddItem "4800"
cboSpeed.AddItem "9600"
cboSpeed.AddItem "14400"
cboSpeed.AddItem "19200"
cboSpeed.AddItem "28800"
cboSpeed.AddItem "38400"
cboSpeed.AddItem "56000"
cboSpeed.AddItem "57600"
cboSpeed.AddItem "115200"
cboSpeed.AddItem "128000"
cboSpeed.AddItem "256000"
' Load Data Bit Settings
cboDataBits.AddItem "4"
cboDataBits.AddItem "5"
cboDataBits.AddItem "6"
cboDataBits.AddItem "7"
cboDataBits.AddItem "8"
' Load Parity Settings
cboParity.AddItem "Even"
cboParity.AddItem "Odd"
cboParity.AddItem "None"
cboParity.AddItem "Mark"
cboParity.AddItem "Space"
' Load Stop Bit Settings
cboStopBits.AddItem "1"
cboStopBits.AddItem "1.5"
cboStopBits.AddItem "2"
' Set Default Settings
Settings = frmMSCommDemo.MSComm1.Settings
' In all cases the right most part of Settings will be 1 character
' except when there are 1.5 stop bits.
If InStr(Settings, ".") > 0 Then
Offset = 2
Else
Offset = 0
End If
cboSpeed.Text = Left$(Settings, Len(Settings) - 6 - Offset)
Select Case Mid$(Settings, Len(Settings) - 4 - Offset, 1)
Case "e"
cboParity.ListIndex = 0
Case "m"
cboParity.ListIndex = 1
Case "n"
cboParity.ListIndex = 2
Case "o"
cboParity.ListIndex = 3
Case "s"
cboParity.ListIndex = 4
End Select
cboDataBits.Text = Mid$(Settings, Len(Settings) - 2 - Offset, 1)
cboStopBits.Text = Right$(Settings, 1 + Offset)
cboPort.ListIndex = frmMSCommDemo.MSComm1.CommPort - 1
optFlow(frmMSCommDemo.MSComm1.Handshaking).Value = True
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim OldPort As Integer, ReOpen As Boolean
On Error Resume Next
OldPort = frmMSCommDemo.MSComm1.CommPort
NewPort = cboPort.ListIndex + 1
If NewPort <> OldPort Then ' If the port number changes, close the old port.
If frmMSCommDemo.MSComm1.PortOpen Then
frmMSCommDemo.MSComm1.PortOpen = False
ReOpen = True
End If
frmMSCommDemo.MSComm1.CommPort = NewPort ' Set the new port number.
If Err = 0 Then
If ReOpen Then
frmMSCommDemo.MSComm1.PortOpen = True
frmMSCommDemo.mnuOpen.Checked = frmMSCommDemo.MSComm1.PortOpen
frmMSCommDemo.mnuSendText.Enabled = frmMSCommDemo.MSComm1.PortOpen
frmMSCommDemo.tbrToolBar.Buttons("TransmitTextFile").Enabled = frmMSCommDemo.MSComm1.PortOpen
End If
End If
If Err Then
MsgBox Error$, 48
frmMSCommDemo.MSComm1.CommPort = OldPort
Exit Sub
End If
End If
frmMSCommDemo.MSComm1.Settings = Trim$(cboSpeed.Text) & "," & Left$(cboParity.Text, 1) _
& "," & Trim$(cboDataBits.Text) & "," & Trim$(cboStopBits.Text)
If Err Then
MsgBox Error$, 48
Exit Sub
End If
frmMSCommDemo.MSComm1.Handshaking = iFlow
If Err Then
MsgBox Error$, 48
Exit Sub
End If
SaveSetting App.Title, "Properties", "Settings", frmMSCommDemo.MSComm1.Settings
SaveSetting App.Title, "Properties", "CommPort", frmMSCommDemo.MSComm1.CommPort
SaveSetting App.Title, "Properties", "Handshaking", frmMSCommDemo.MSComm1.Handshaking
Unload Me
End Sub
Private Sub Form_Load()
Me.Left = (Screen.Width - Me.Width) / 2
Me.Top = (Screen.Height - Me.Height) / 2
fraSettings.ZOrder
LoadPropertySettings
End Sub
Private Sub optFlow_Click(Index As Integer)
iFlow = Index
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -