77范文网 - 专业文章范例文档资料分享平台

VB实用教程 - 图文(4)

来源:网络收集 时间:2020-04-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(1)通用过程的代码设计

文件操作通用过程(有关文件的具体操作没有给出,学习完第九章相关知识后,可自行补充):

Private i As Integer

Public Sub FileNew()

Dim NewFrm As New frmNotePad ' 声明并创建一个NewFrm 窗体变量

i = i + 1

NewFrm.Caption = \无标题\& i ' 显示新的子窗体 NewFrm.Show End Sub

Public Sub FileOpen()

Dim NewFrm As New frmNotePad

frmMDI.CommonDialog1.FileName = \

frmMDI.CommonDialog1.ShowOpen ' 显示“打开”对话框 If frmMDI.CommonDialog1.FileName <> \Then '调用打开过程(待补) End If

NewFrm.Caption = frmMDI.CommonDialog1.FileTitle ' 修改文档的标题 NewFrm.Show End Sub

Public Sub FileSave(strFileName)

If Left(strFileName, 3) = \无标题\Then

frmMDI.CommonDialog1.FileName = \无标题.txt\

frmMDI.CommonDialog1.ShowSave ' 显示“另存为”对话框 strFileName = frmMDI.CommonDialog1.FileName End If

If strFileName <> \Then

'调用保存过程(待补)

frmMDI.ActiveForm.Caption = frmMDI.CommonDialog1.FileTitle End If End Sub

编辑操作通用过程: Sub CopyProc()

' 复制活动子窗体有焦点控件上被选择的文本到剪贴板

Clipboard.SetText frmMDI.ActiveForm.ActiveControl.SelText End Sub

Sub CutProc()

Clipboard.SetText frmMDI.ActiveForm.ActiveControl.SelText frmMDI.ActiveForm.ActiveControl.SelText = \

End Sub

Sub PasteProc()

' 将文本从剪贴板粘贴到活动控件上

frmMDI.ActiveForm.ActiveControl.SelText = Clipboard.GetText() End Sub

(2)MDI窗体代码设计: Private Sub MenuNew_Click() Call Module1.FileNew End Sub

Private Sub MenuOpen_Click() Call Module1.FileOpen End Sub

Private Sub MenuExit_Click() End

End Sub

(3)子窗体代码设计:

Private flag As Boolean Private Sub Form_Load()

Text1.Height = Me.ScaleHeight ' 修改文本框大小,适应窗体尺寸的变化

Text1.Width = Me.ScaleWidth End Sub

Private Sub Text1_Change()

flag = True ' 设置全局变量来标志文本已经改变 End Sub

“文件”菜单的事件过程代码: Private Sub MenuNew_Click()

Call Module1.FileNew ' 调用新建窗体过程 End Sub

Private Sub MenuOpen_Click()

Call Module1.FileOpen ' 调用文件打开过程 End Sub

Private Sub MenuSave_Click()

Call Module1.FileSave(Me.Caption) ' 调用文件保存过程 flag = False End Sub

Private Sub MenuSaveAs_Click()

Call Module1.FileSave(\无标题\ ' 调用文件保存过程 flag = False End Sub

Private Sub MenuClose_Click()

Unload Me ' 卸载子窗体 End Sub

Private Sub MenuExit_Click()

Unload frmMDI ' 卸载MDI窗体 End Sub

' 根据flag标志变量的值,如果为True,即文本改动后未保存,会提示用户保存变化

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim StrMsg As String

Dim intResponse As Integer If flag Then

StrMsg = \& Me.Caption & \中文本已经改变,\& vbCrLf & \保存改变吗?\

intResponse = MsgBox(StrMsg, 35, frmMDI.Caption) Select Case intResponse

Case 6 ' 用户选择“是”

Call Module1.FileSave(frmMDI.ActiveForm.Caption) Case 7 ' 用户选择“否”,卸载窗体 Cancel = False

Case 2 ' 用户选择“取消”,取消卸载 Cancel = True End Select End If End Sub

“编辑”菜单的事件代码: Private Sub MenuCopy_Click()

Call Module1.CopyProc ' 调用复制过程 End Sub

Private Sub MenuCut_Click()

Call Module1.CutProc ' 调用剪切过程 End Sub

Private Sub MenuPaste_Click()

Call Module1.PasteProc ' 调用粘贴过程

End Sub

Private Sub MenuDel_Click()

frmMDI.ActiveForm.ActiveControl.SelText = \ End Sub

Private Sub MenuSelectAll_Click()

frmMDI.ActiveForm.Text1.SelStart = 0

frmMDI.ActiveForm.Text1.SelLength = Len(frmMDI.ActiveForm.Text1.Text)

End Sub

“搜索”菜单事件代码:

Private Sub MenuFind_Click()

If Me.Text1.SelText <> \Then

' 如果子窗体文本框中有文本,将它赋给“查找”窗体中的文本 frmFIND.TxtFind.Text = Me.Text1.SelText Else

frmFIND.TxtFind.Text = \ End If

frmFIND.Show vbModal End Sub

“窗口”菜单事件代码:

Private Sub MenuCascade_Click()

frmMDI.Arrange vbCascade ' 层叠子窗体 End Sub

Private Sub MenuTile_Click()

frmMDI.Arrange vbTileHorizontal ' 平铺子窗体 End Sub

Private Sub MenuArrange_Click()

frmMDI.Arrange vbArrangeIcons ' 对最小化的子窗体排列图标 End Sub

(4)模式对话框窗体(frmFind)代码设计: Dim intPos As Integer, oldPos As Integer

Private Sub FindPos() ' 公共查找过程 Dim StrMsg As String

intPos = InStr(intPos + 1, frmMDI.ActiveForm.ActiveControl.Text, TxtFind.Text)

If intPos Then

frmMDI.ActiveForm.ActiveControl.SelStart = intPos - 1

frmMDI.ActiveForm.ActiveControl.SelLength = Len(TxtFind.Text) Else

If oldPos > 1 Then

StrMsg = \已经到文件尾\

frmMDI.ActiveForm.ActiveControl.SelLength = 0 Else

StrMsg = \找不到\& Chr(34) & TxtFind.Text & Chr(34) End If

MsgBox StrMsg, 0, frmMDI.Caption End If End Sub

Private Sub CmdFind_Click()

FindPos ' 调用公共查找过程 End Sub

Private Sub CmdFindNext_Click()

oldPos = intPos ' 记录原来的值,可以判定是否第一次找到

FindPos ' 调用公共查找过程 End Sub

Private Sub Form_Load() ' 窗体初始化时,设置“查找”按钮无效 CmdFind.Enabled = False End Sub

Private Sub TxtFind_Change()

If TxtFind.Text = \Then ' 如果“查找内容”文本框为空,“查找”按钮无效

CmdFind.Enabled = False Else

CmdFind.Enabled = True End If End Sub

Private Sub CmdCancel_Click()

Unload frmFIND ' 卸载查找窗体 End Sub

4.运行程序

设置本工程的“启动对象”为MDIForm1,启动本工程。

习题六

一、简答题

1.菜单的主要作用是什么?Visual Basic提供了什么类型的菜单? 2.热键和快捷键的区别是什么?如何为一个菜单设置热键和快捷键? 3.什么是弹出式菜单?用什么方法显示弹出式菜单?

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB实用教程 - 图文(4)在线全文阅读。

VB实用教程 - 图文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/984284.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: