📄 v6bj08-07.frm
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 4530
ClientTop = 4695
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
Begin MSComDlg.CommonDialog CommonDialog1
Left = 4200
Top = 420
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin VB.TextBox Text1
Height = 3135
Left = 60
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 0
Top = 60
Width = 4515
End
Begin VB.Menu FileMenu
Caption = "文件"
Begin VB.Menu FileNew
Caption = "新建"
Shortcut = ^N
End
Begin VB.Menu FileOpen
Caption = "打开"
Shortcut = ^O
End
Begin VB.Menu Bar1
Caption = "-"
End
Begin VB.Menu FileSave
Caption = "保存"
Shortcut = ^S
End
Begin VB.Menu FileSaveAs
Caption = "另存为"
End
Begin VB.Menu bar2
Caption = "-"
End
Begin VB.Menu RunMenu
Caption = ""
Index = 0
Visible = 0 'False
End
Begin VB.Menu bar3
Caption = "-"
Visible = 0 'False
End
Begin VB.Menu FileExit
Caption = "退出"
End
End
Begin VB.Menu EditMenu
Caption = "编辑"
Begin VB.Menu EditCopy
Caption = "复制"
Shortcut = ^C
End
Begin VB.Menu EditCut
Caption = "剪切"
Shortcut = ^X
End
Begin VB.Menu EditPaste
Caption = "粘贴"
Shortcut = ^V
End
End
Begin VB.Menu MenuDel
Caption = "删除菜单项"
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim iMenucount%, i%, j%, k%, Flag As Boolean, Flag1 As Boolean
Private Sub EditCopy_Click()
st = Text1.SelText '将选中的内容存放到st变量中
EditCopy.Enabled = False '进行复制后,剪切和复制按钮无效
EditCut.Enabled = False
EditPaste.Enabled = True '粘贴按钮有效
End Sub
Private Sub EditCut_Click()
st = Text1.SelText '将选中的内容存放到st变量中
Text1.SelText = "" '将选中的内容清除,实现了剪切
EditCopy.Enabled = False
EditCut.Enabled = False
EditPaste.Enabled = True
End Sub
Private Sub EditPaste_Click()
Text1.Text = Left(Text1, Text1.SelStart) + st + Mid(Text1, Text1.SelStart + 1)
End Sub
Private Sub FileExit_Click()
End
End Sub
Private Sub FileOpen_Click()
On Error GoTo nofile ' 设置错误陷阱
CommonDialog1.InitDir = App.Path ' 设置属性(可以在设计中完成)
CommonDialog1.Filter = "文本文件 | *.Txt"
CommonDialog1.CancelError = True
CommonDialog1.ShowOpen ' 或用Action = 1
Text1.Text = ""
Open CommonDialog1.FileName For Input As #1 ' 打开文件进行读操作
Do While Not EOF(1)
Line Input #1, inputdata ' 读一行数据
Text1.Text = Text1.Text + inputdata + Chr(13) + Chr(10)
Loop
Close #1 ' 关闭文件
iMenucount = iMenucount + 1
Flag = False
If iMenucount < 5 Then
bar3.Visible = True
Load RunMenu(iMenucount) ' 装入新菜单项,修改后
For i = 1 To iMenucount - 1 '若新打开文件名与已打开过的文件名重名
If RunMenu(i).Caption = CommonDialog1.FileName Then
Flag = True
If iMenucount > 2 Then
For k = i To 2 Step -1
RunMenu(k).Caption = RunMenu(k - 1).Caption
RunMenu(k).Visible = True
Next k
RunMenu(1).Caption = CommonDialog1.FileName
RunMenu(1).Visible = True
ElseIf iMenucount = 2 Then
Unload RunMenu(iMenucount)
iMenucount = iMenucount - 1
Load RunMenu(iMenucount)
End If
End If
Next i
If Flag = False Then '若新打开文件名没有与已打开过的文件名重名
If iMenucount > 2 Then
For j = iMenucount To 2 Step -1
RunMenu(j).Caption = RunMenu(j - 1).Caption
RunMenu(j).Visible = True
Next j
RunMenu(1).Caption = CommonDialog1.FileName
ElseIf iMenucount = 2 Then
RunMenu(2).Caption = RunMenu(1).Caption
RunMenu(1).Caption = CommonDialog1.FileName
RunMenu(2).Visible = True
RunMenu(1).Visible = True
ElseIf iMenucount = 1 Then
RunMenu(1).Caption = CommonDialog1.FileName
RunMenu(1).Visible = True
End If
End If
Else '若打开总文件数超过4个
Flag1 = False
For i = 1 To 4 '若新打开文件名与已打开过的文件名重名
If RunMenu(i).Caption = CommonDialog1.FileName Then
Flag1 = True
If i > 2 Then
For j = i To 2 Step -1
RunMenu(j).Caption = RunMenu(j - 1).Caption
Next j
RunMenu(1).Caption = CommonDialog1.FileName
ElseIf i = 2 Then
RunMenu(2).Caption = RunMenu(1).Caption
RunMenu(1).Caption = CommonDialog1.FileName
ElseIf i = 1 Then
Exit For
End If
End If
Next i
If Flag1 = False Then '若新打开文件名没有与已打开过的文件名重名
For p = 3 To 1 Step -1
RunMenu(p + 1).Caption = RunMenu(p).Caption
RunMenu(p + 1).Visible = True
Next p
RunMenu(1).Caption = CommonDialog1.FileName
RunMenu(1).Visible = True
End If
End If
Exit Sub
nofile: ' 错误处理
If Err.Number = 32755 Then Exit Sub ' 单击"取消"按钮
End Sub
Private Sub MenuDel_Click()
Dim n As Integer
If iMenucount > 4 Then ' 如果文件数大于4
n = 4
Else
n = iMenucount
End If
For i = 1 To n
Unload RunMenu(i) ' 删除菜单项
Next i
iMenucount = 0 ' 重置文件打开数
bar3.Visible = False ' 隐含分隔线
End Sub
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu EditMenu, vbPopupMenuCenterAlign
End Sub
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1.SelText <> "" Then
EditCut.Enabled = True ' 当拖动鼠标选中要操作的文本后,剪切、复制按钮有效
EditCopy.Enabled = True
EditPaste.Enabled = False
Else
EditCut.Enabled = False ' 当拖动鼠标未选中文本,剪切、复制按钮无效
EditCopy.Enabled = False
EditPaste.Enabled = True
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -