用VB做文本编辑器
VB实例2 文字编辑

实例2 文字编辑“文字编辑”程序运行后,在屏幕的中央显示一个窗体,窗体的画面如图所示。
单击“改变外观“按钮后,四个文本框中的文字外观会发生不同的变化。
单击“改变颜色”按钮后,备丈本框中的背最颜色和文字颜色会变化:单击“文字交换”按钮后,四个文本框中的文字内容从左向右进行替换,最右边文本框中的文字替换最左边文本框中的文字。
单击“滚动文字”按钮后,使4个文本框中的内容发生变化,同时各滚动条变为有效;单击“口令文本框”按钮后,最左边的文本框变为口令文本框,其中的文字变为“*”,如果再单击“改变外观”按钮,可以使口令文本框还原为普通文本框;单击“退出”按钮可退出程序运行。
每次单击按钮时,窗体和标签的显示内容会做出相应的调整。
1.设置对象的属性(1)对象的名称:该程序中有1个窗体对象,名称为Form1;1个标签对象,名称为Label1,4个文本框对象,名称从左到右分别为Text1,Text2,Text3和Text4;6个按钮对象,名称从左到右分别为Cmmand1,Command2、Command3、Command4、Command5和Command6。
(2)窗体对象Form1的属性设置:Caption属性为“文字编辑”,BackColor 属性为浅粉色,StartUpPosition属性设置为“2-屏幕中间”。
“文字编辑”程序运行后的画面(3)标签对象Label1的属性设簧:Caption属性为“文字编辑”;BackColor属性为白色,ForeColor属性为深紫色;字体属怿设置为宋体,大小为16,字形为粗体。
(4)四个文本框对象的属性设置:Text属性分别为“文”、“字”、“编”、“辑”;字体属性设置为宋体,大小为16,字形为常规;MultiLine属性设置为True,ScrollBars属性设置分别为(从左到右)0-None、1l-Horizontal、2-Verical和3-Both:BackColor属性为白色:ForeColor属性为黑色;Alignment 属性设置为0-Left Justify;PasswordChar属性设置为空串;其他属性采用默认值。
VB课程设计报告---文本编辑器

VB课程设计报告——文本编辑器学院名称:计算机学院学生姓名:专业名称:计算机科学与技术班级:一、课程设计题目用Visual Basic程序设计语言编写一个简易的文本编辑器要求:有最基本的文本编辑功能,包括复制、剪切、粘贴、字体设置、背景颜色设置、字体颜色设置;同时拥有文本管理功能,包括打开文件、保存文件;以及完整的系统运行退出等功能,所有的操作可选择设定的快捷键。
二、课程设计目的(1)目标:实现类似与WINDOWS平台下的记事本程序。
(2)涉及功能:新建、打开、保存、另存为、退出、编辑、撤销、复制、粘贴、剪切、删除、查找、全选、打印、格式、字体、颜色、查看、状态栏、帮助、关于等三、课程设计说明1创建应用程序界面2设置属性3编写代码4保存应用程序5调试,运行应用程序6生成可执行文件四、源代码Dim filecount As IntegerDim inputdata As StringDim TargetPosition As IntegerDim pos As IntegerDim targey As StringDim neirong As StringPrivate Sub A_Click()On Error Resume Nextcmndlg1.Filter = "文本文件|*.txt"cmndlg1.CancelError = Truecmndlg1.Action = 2Open cmndlg1.FileName For Output As #1Print #1, Text1.TextClose #1End SubPrivate Sub C_Click()End SubPrivate Sub D_Click()End SubPrivate Sub Form_Load()Text1.Text = ""Text1.Left = 0Text1.Top = 550Text1.Width = Form1.ScaleWidthText1.Height = Form1.ScaleHeightmnucut.Enabled = Falsemnucopy.Enabled = Falsemnudelete.Enabled = Falsemnuselectall.Enabled = Falsemnupaste.Enabled = Truemnuleft.Checked = TrueEnd SubPrivate Sub Form_Resize()'如果窗体不处于最小化text1状态,改变text1大小以适应窗体大小变化If Form1.WindowState <> 1 ThenText1.Width = Form1.Width - 120If Form1.Height < 1200 ThenForm1.Height = 1200End IfText1.Height = Form1.Height - 1350End IfEnd SubPrivate Sub Form_Unload(Cancel As Integer)Dim msg As IntegerIf Text1.Text <> neirong Thenmsg = MsgBox(" 内容已被修改,是否保存文件", 48 + vbYesNoCancel, "提示")If msg = vbYes ThenOn Error GoTo Errcmndlg1.DialogTitle = "保存文件"cmndlg1.Filter = "文本文件|*.txt"cmndlg1.CancelError = Truecmndlg1.ShowSaveOpen cmndlg1.FileName For Output As #1Print #1, Text1.TextClose #1Err:If Err.Number = cdlCancel ThenCancel = TrueEnd IfElseIf msg = vbNo ThenEndElseIf msg = vbCancel ThenCancel = TrueEnd IfElseEndEnd IfEnd SubPrivate Sub mnucopy_Click() '复制利用SetText 方法,将选中的文本放入剪贴板上Clipboard.SetText Text1.SelTextPrivate Sub mnucut_Click() '剪切Clipboard.SetText Text1.SelTextText1.SelText = ""End SubPrivate Sub mnudelete_Click() '删除Text1.SelText = ""End SubPrivate Sub mnuedit_Click() '编辑菜单项代码' 如果文本框中没有选中的内容,则剪切\复制\删除和粘贴菜单无效,否则有效If Text1.SelLength <> 0 Thenmnucut.Enabled = Truemnucopy.Enabled = Truemnudelete.Enabled = Truemnupaste.Enabled = TrueElsemnucut.Enabled = Falsemnucopy.Enabled = Falsemnudelete.Enabled = FalseEnd IfEnd SubPrivate Sub mnuexit_Click() '退出EndEnd SubPrivate Sub mnufind_Click() '查找FindText 1mnuNext.Enabled = TrueEnd SubPrivate Sub mnufont_Click() '字体On Error GoTo A:cmndlg1.Flags = cdlCFBoth Or cdlCFEffectscmndlg1.ShowFontIf cmndlg1.FontName > "" ThenText1.FontName = cmndlg1.FontNameText1.FontSize = cmndlg1.FontSizeText1.FontBold = cmndlg1.FontBoldText1.FontItalic = cmndlg1.FontItalicText1.FontStrikethru = cmndlg1.FontStrikethru Text1.FontUnderline = cmndlg1.FontUnderline Text1.FontBold = cmndlg1.FontBoldText1.ForeColor = cmndlg1.ColorA:If Err.Number < 0 ThenExit SubEnd IfEnd SubPrivate Sub mnufontcolor_Click() '字体颜色cmndlg1.ShowColorText1.ForeColor = cmndlg1.ColorEnd SubPrivate Sub mnuleft_Click() '左对齐Text1.Alignment = 0mnuleft.Checked = Truemnuright(1).Checked = Falsemnuright(2).Checked = FalseEnd SubPrivate Sub mnunew_Click() '新建Text1.Text = ""End SubPrivate Sub FindTex(ByVal start_at As Integer) targey = targeypos = InStr(start_at, Text1.Text, targey)If pos > 0 Then '找到了匹配字符串TargetPosition = posText1.SelStart = TargetPosition - 1'选中找到的字符串Text1.SelLength = Len(targey)Text1.SetFocusElse '没有找到匹配的字符串MsgBox "没找到匹配的字符串", 48, "提示"Text1.SetFocusEnd IfEnd SubPrivate Sub mnuNext_Click() '查找下一个FindTex TargetPosition + 1End SubPrivate Sub mnuopen_Click() '打开Dim inputdata As StringOn Error GoTo nofilecmndlg1.Filter = "文本文件|*.txt"cmndlg1.CancelError = Truecmndlg1.ShowOpenText1.Text = ""If cmndlg1.FileName <> "" ThenOpen cmndlg1.FileName For Input As #1Do While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text & inputdata & vbCrLoopClose #1End IfExit Subnofile:If Err.Number = 32755 Then Exit SubEnd SubPrivate Sub FindText(ByVal start_at As Integer)'获取用户输入的要查找的字符串targey = InputBox("请输入要查找的内容", "查找")pos = InStr(start_at, Text1.Text, targey)If pos > 0 Then '找到了匹配字符串TargetPosition = posForm1.Text1.SelStart = TargetPosition - 1'选中找到的字符串Form1.Text1.SelLength = Len(targey)Form1.Text1.SetFocusElse '没有找到匹配的字符串MsgBox "没找到匹配的字符串", 48, "提示"Form1.Text1.SetFocusEnd IfEnd SubPrivate Sub mnupaste_Click() '粘贴用GetText1 方法,将剪切板中的内容粘贴到光标所在位置Text1.SelText = Clipboard.GetText()End SubPrivate Sub mnuprint_Click() '打印On Error Resume Nextcmndlg1.ShowPrinterPrinter.Copies = cmndlg1.CopiesPrinter.Print Text1.TextEnd SubPrivate Sub mnuright_Click(Index As Integer) '右对齐\居中菜单代码Select Case IndexCase 1Text1.Alignment = 1mnuleft.Checked = Falsemnuright(1).Checked = Truemnuright(2).Checked = FalseCase 2Text1.Alignment = 2mnuleft.Checked = Falsemnuright(1).Checked = Falsemnuright(2).Checked = TrueEnd SelectEnd SubPrivate Sub mnusave_Click() '保存On Error Resume Nextcmndlg1.DialogTitle = "保存文件"cmndlg1.Filter = "文本文件|*.txt"cmndlg1.CancelError = Truecmndlg1.ShowSaveOpen cmndlg1.FileName For Output As #1Print #1, Text1.TextClose #1End SubPrivate Sub mnuselectall_Click() '全选Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub Text1_Change()If Text1.Text = "" Thenmnufind.Enabled = FalsemnuNext.Enabled = FalseElsemnufind.Enabled = Truemnuselectall.Enabled = TrueEnd IfEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case ButtonCase "新建"Call mnunew_ClickCase "打开"Call mnuopen_ClickCase "剪切"Call mnucut_ClickCase "复制"Call mnucopy_ClickCase "粘贴"Call mnupaste_ClickCase "保存"Call mnusave_ClickCase "查找"Call mnufind_ClickEnd SelectEnd SubPrivate Sub tre_Click()Shell ("notepad 使用说明.txt")End SubPrivate Sub xufeng_Click()Form2.Visible = TrueEnd Sub五、运行结果保存功能查找功能打开功能颜色修改功能字体修改功能七、心得体会作为一名计算机专业的学生,在接触了C语言、数据结构与C++课程后,对计算机语言有了一定的兴趣,于是在这个学期我毫不犹豫的选择了VB课程(算法与程序设计)。
基于VB和XML的个人资料编辑器的实现

基于VB和XML的个人资料编辑器的实现在当今信息化时代,我们每个人都需要处理各种各样的个人信息,如姓名、地址、电话号码、电子邮件、社交媒体账号等。
不同的场景,需要我们提供不同的信息,因此,需要一个方便实用的工具来管理这些信息。
本文将介绍一个基于VB和XML的个人资料编辑器。
一、为什么选择VB和XMLVisual Basic(VB)是一种面向对象的编程语言,可用于Windows平台应用程序开发。
VB可以通过可视化开发环境方便快捷地进行开发。
而且,VB的语法易于学习,适合初学者上手。
XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。
它具有结构化、可扩展和易于处理的特点。
将个人信息存储在XML文件中,方便了数据的整理和管理,可以灵活地增加、删除和修改数据记录。
二、需求分析在设计个人资料编辑器之前,需要先分析用户的需求。
通过与用户进行交流,整理出以下功能需求:1. 能够方便地添加、删除和修改个人信息;2. 支持批量导入和导出;3. 支持搜索功能,查找特定的个人信息;4. 支持多种排序方式,如按姓名、电话号码或地址等排序;5. 能够保存用户的数据到XML文件中,方便备份和恢复;6. 界面简洁、美观,方便用户操作。
三、系统设计在满足用户需求的基础上,我们开始设计个人资料编辑器。
界面采用Windows标准界面,主要分为菜单栏、工具栏、信息列表和状态栏四大部分。
1. 菜单栏包括文件、编辑、视图、帮助四个菜单,分别用于打开、保存、导入、导出、添加、删除、修改、排序、搜索、查看帮助等功能。
2. 工具栏包括常用的添加、删除、修改、保存、导入、导出按钮,方便用户快速访问常用功能。
3. 信息列表采用表格形式展示个人信息,每行对应一条记录,列分别是姓名、地址、电话号码、电子邮件、社交媒体账号等。
4. 状态栏用于显示当前操作的状态,如“打开文件”、“保存成功”、“搜索结果为XX条记录”等。
VB-文本编辑器

VB-文本编辑器一、界面设计程序运行的界面:二、代码设计Dim ex As BooleanDim savepath As StringPrivate Sub building_Click()If ex Thena = MsgBox("是否保存?", vbYesNo + vbQuestion)If a = 6 ThenIf savepath <> "" ThenOpen savepath For Output As #1Print #1, Text1.TextClose #1Text1 = ""ex = FalseElseCommonDialog1.FileName = "文档1.txt"CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2savepath = CommonDialog1.FileNameOpen CommonDialog1.FileName For Output As #1Print #1, Text1.TextClose #1Text1 = ""ex = FalseEnd IfEnd IfElseText1 = ""ex = FalseEnd IfEnd SubPrivate Sub exit_Click()If ex Thena = MsgBox("是否保存?", vbYesNoCancel + vbQuestion)If a = 6 ThenIf savepath <> "" ThenOpen savepath For Output As #1Print #1, Text1.TextClose #1EndElseCommonDialog1.FileName = "文档1.txt"CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2savepath = CommonDialog1.FileNameOpen CommonDialog1.FileName For Output As #1Print #1, Text1.TextClose #1ex = FalseEnd IfElseIf a = 7 ThenEndEnd IfElseEndEnd IfEnd SubPrivate Sub Form_Resize()Form1.Width = 12000Form1.Height = 7000Form1.Top = 2000Form1.Left = 3000Text1.Left = 0Text1.Top = 0Text1.Width = Form1.Width - 300Text1.Height = Form1.Height - 1000End SubPrivate Sub open_Click()CommonDialog1.Action = 1Text1 = ""If CommonDialog1.FileName <> "" ThenOpen CommonDialog1.FileName For Input As #1 Do While Not EOF(1)Line Input #1, inputdataText1 = Text1 + inputdata + vbCrLfLoopClose #1savepath = CommonDialog1.FileNameex = FalseText1.SelStart = Len(Text1)End IfEnd SubPrivate Sub save_Click()If savepath <> "" ThenOpen savepath For Output As #1Print #1, Text1.TextClose #1ex = FalseElseCommonDialog1.FileName = "文档1.txt"CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2savepath = CommonDialog1.FileNameOpen CommonDialog1.FileName For Output As #1 Print #1, Text1.TextClose #1ex = FalseEnd IfEnd SubPrivate Sub saves_Click()CommonDialog1.FileName = "文档1.txt" CommonDialog1.DefaultExt = "txt" CommonDialog1.Action = 2savepath = CommonDialog1.FileNameOpen CommonDialog1.FileName For Output As #1Print #1, Text1.TextClose #1ex = FalseEnd SubPrivate Sub Text1_Change()ex = TrueEnd Sub。
用VB做文本编辑器

意思就是做个记事本吧看下面的用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。
但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易!通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText 控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。
第一章让我们的记事本马上运行急于求成是初学者共有的心愿。
那好,请按如下三个步骤做,我们的愿望立即就可以实现!步骤一:绘制界面。
新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。
单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft RichText Box 6.0和公共对话框Microsoft Common Dialog 6.0并选中它们,单击“确定”按钮。
这时左边的工具栏上出现了我们刚才新添的两个控件了。
在窗体上绘制RichText Box和Commn Dialog,其中RichText Box的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。
步骤二:编辑菜单。
按Ctrl+E调出菜单编辑器,我们来做如下几个菜单:一.文件菜单:文件(第一层) mnuFile新建(第二层) mnuNew打开(第二层) mnuOpen保存(第二层) mnuSave- (第二层) mnuFileSep (分隔线)退出(第二层) mnuExit二.编辑菜单:编辑(第一层) mnuEdit复制(第二层) mnuCopy剪切(第二层) mnuCut粘贴(第二层) mnuPaste- (第二层) mnuEditSep (分隔线)全选(第二层) mnuSelecAll三.搜索菜单:搜索(第一层) mnuSearch查找(第二层) mnuFind查找下一个(第二层) mnuFindOn四.帮助菜单:帮助(第一层) mnuHelp使用说明(第二层) mnuUsage关于(第二层) mnuAbout(注:各菜单项的快捷键请自行设置)好了,其它的菜单项以后再根据需要添加。
VB课程设计-文本编辑器

VB课程设计报告——文本编辑器学院名称:学生姓名:专业名称:班级:一、课程设计题目用Visual Basic程序设计语言编写一个简易的文本编辑器要求:有最基本的文本编辑功能,包括复制、剪切、粘贴、字体设置、背景颜色设置、字体颜色设置;同时拥有文本管理功能,包括打开文件、保存文件;以及完整的系统运行退出等功能,所有的操作可选择设定的快捷键。
二、课程设计目的虽然本学期的Visual Basic课程是自学的,相对于课堂学习有些不足,但通过平时的上机实验,初步掌握了VB程序设计的各种方法,学会了编写最基本的VB程序;对于完整的VB程序设计来讲是很不足的,平时掌握的只是单独的窗体(Form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的VB程序设计,结合所学的基本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的VB 应用程序;这样在巩固VB所学的同时,更好地学会程序设计的一些思想和方法,对于以后的编程学习或是工作有重要的实践意义。
三、课程设计说明题目为文本编辑器,即是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善,做成一个完整的小程序功能设计说明:功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要利用到窗体(Form)一个,控件包括:RichTextBox1(超文本框)、CommonDialog(通用对话框),以及InputBox(消息框)、菜单编辑器等,。
要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺畅运行。
本次设计在按照题目要求的前提下,为了完整地展示一个应用程序,在最初就设计为最基本的文本的编辑器,所以取名为“易记本”,就是简易记事本的简称,然后加入图标,在程序完成之后还进行了大包操作,得到应用程序的安装文件,最后安装在电脑上运行使用。
四.源代码Private Sub Command1_Click()Dim i As IntegerIf Text2.Text <> "123456" Theni = MsgBox("密码错误", 5 + vbExclamation, "警告")If i <> 6 ThenEndElseText2.Text = ""Text2.SetFocusEnd IfEnd IfForm1.HideForm2.ShowEnd SubPrivate Sub Form_Load()Text1.Text = ""Text1.MaxLength = 6Text2.Text = ""Text2.MaxLength = 6Text2.PasswordChar = "*"End SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) Then MsgBox "帐号必须为数字", , "警告" Text1.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub Command1_Click()Form2.HideForm3.ShowEnd SubPrivate Sub Command2_Click()Form2.HideForm4.ShowEnd SubPrivate Sub Command3_Click()Form2.HideForm5.ShowEnd SubPrivate Sub Color_Click() CommonDialog1.Action = 3Text1.ForeColor = CommonDialog1.Color End SubPrivate Sub Command1_Click()Form3.HideForm2.ShowEnd SubPrivate Sub Copy_Click()Dim st As Stringst = Text1.SelTextEnd SubPrivate Sub Cut_Click()Dim st As Stringst = Text1.SelTextText1.SelText = ""End SubPrivate Sub Exit_Click()EndEnd SubPrivate Sub Font_Click()CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects CommonDialog1.Action = 4Text1.FontName = CommonDialog1.FileNameText1.FontSize = CommonDialog1.FontSizeText1.FontBold = CommonDialog1.FontBoldText1.FontItalic = CommonDialog1.FontItalicText1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline Text1.ForeColor = CommonDialog1.ColorEnd SubSub New_Click()Text1.Text = ""Me.Caption = FileEnd SubSub Open_Click()CommonDialog1.Action = 1Text1.Text = ""Open CommonDialog1.FileName For Input As #1Do While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + vbCrLfLoopClose #1End SubPrivate Sub Paste_Click()Text1.SelText = stEnd SubPrivate Sub Print_Click()CommonDialog1.Action = 5For i = 1 To CommonDialog1.CopiesPrinter.Print Text1.TextNext iPrinter.EndDocEnd SubPrivate Sub SaveAs_Click()CommonDialog1.FileName = "vb课设用.txt" CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1 Print #1, Text1.TextEnd SubDim arr As Long, sum As Long, a As IntegerPrivate Sub Command1_Click()a = HScroll1.ValueText1.Text = plus(a)Call isprime(a)End SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub HScroll1_Change()Label2.Caption = HScroll1.ValueEnd SubSub isprime(max As Integer)Dim x As Integer, i As Integer, j As IntegerFor i = 2 To maxx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1Next jIf x = 0 Then Label2.Caption = Label2.Caption & i & " " Next iEnd SubFunction plus(a As Integer) As LongFor i = 1 To asum = sum + iNext iplus = sumEnd FunctionDim x1 As IntegerDim y1 As IntegerDim x2 As IntegerDim y2 As IntegerDim flag As BooleanPrivate Sub Command1_Click()On Error Resume NextCommonDialog1.CancelError = True CommonDialog1.DialogTitle = "颜色" CommonDialog1.ShowColorIf Err <> 32755 Then Picture1.ForeColor = CommonDialog1.Color End IfEnd SubPrivate Sub Command2_Click()Picture1.ClsEnd SubPrivate Sub Command3_Click()Form5.HideForm6.ShowEnd SubPrivate Sub Option1_Click()Picture1.DrawWidth = 1End SubPrivate Sub Option2_Click()Picture1.DrawWidth = 2End SubPrivate Sub Option3_Click()Picture1.DrawWidth = 4End SubPrivate Sub Option4_Click()Picture1.DrawWidth = 8End SubPrivate Sub Form_Load()Picture1.Scale (0, 0)-(400, 400)flag = FalseEnd SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) flag = Truex1 = Xy1 = YEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If flag = False ThenExit SubEnd IfIf flag = True Thenx2 = Xy2 = YPicture1.Line (x1, y1)-(x2, y2)x1 = x2y1 = y2End IfEnd SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) flag = FalseEnd SubDim ctP As Single, ctDu() As Single, ctDuS As LongPrivate Sub Command1_Click()Picture1.AutoRedraw = True: ctP = 3.1415926Timer1.Interval = 20: Timer1.Enabled = Not Timer1.EnabledEnd SubPrivate Sub Command2_Click()Form7.HideForm6.ShowEnd SubPrivate Sub Form_Load()Me.Caption = "旋转的椭圆": Command1.Caption = "转/停"Text1.Text = "9 个": Timer1.Enabled = FalseEnd SubPrivate Sub Text1_Change()ctDuS = Val(Text1.Text)If ctDuS > 200 Then Text1.Text = "200"If ctDuS < 1 Then ctDuS = 1ReDim ctDu(0 To ctDuS)End SubPrivate Sub Timer1_Timer()Dim I As LongPicture1.DrawWidth = 3Picture1.ClsFor I = 0 To ctDuSctDu(I) = ctDu(I) + ctP * 0.01 * I / 9If ctDu(I) > ctP * 2 Then ctDu(I) = ctDu(I) - ctP * 2Show1 ctDu(I), &HFFFFFF / (ctDuS + 1) * I * 0.6NextDim x As Single, y As SingleStatic J As SinglePicture1.DrawWidth = 15x0 = Picture1.ScaleWidth * 0.5: y0 = Picture1.ScaleHeight * 0.5 Picture1.PSet (x0, y0), 255x = 1200: y = 0: J = J - 0.05If J < -ctP * 2 Then J = J + ctP * 2Zhuan J, x, yPicture1.PSet (x0 + x, y0 + y), RGB(0, 0, 255)End SubPrivate Sub Show1(ToJ As Single, Se As Long)Dim I As Single, x As Single, y As Single, x0 As Single, y0 As Single Dim a As Single, b As Single, x1 As Single, y1 As SingleIf Picture1.ScaleWidth < Picture1.ScaleHeight Thena = Picture1.ScaleWidth * 0.45Elsea = Picture1.ScaleHeight * 0.45End Ifb = a * 0.25x0 = Picture1.ScaleWidth * 0.5: y0 = Picture1.ScaleHeight * 0.5x = -a: y = 0: Zhuan ToJ, x, yx1 = a: y1 = 0: Zhuan ToJ, x1, y1Picture1.Line (x0 + x, y0 + y)-(x0 + x1, y0 + y1), Sex = 0: y = -b: Zhuan ToJ, x, yx1 = 0: y1 = b: Zhuan ToJ, x1, y1Picture1.Line (x0 + x, y0 + y)-(x0 + x1, y0 + y1), SeFor I = 0 To ctP * 2 Step 0.1x = a * Sin(I): y = b * Cos(I)Zhuan ToJ, x, yPicture1.Line -(x0 + x, y0 + y), SeNextx = a * Sin(I): y = b * Cos(I)Zhuan ToJ, x, yPicture1.Line -(x0 + x, y0 + y), SeEnd SubPrivate Sub Zhuan(ToJ As Single, x As Single, y As Single) Dim S As Single, J As SingleS = Sqr(x ^ 2 + y ^ 2)If S = 0 Then J = 0 Else J = y / SIf Abs(J) >= 1 ThenIf J > 0 Then J = ctP * 0.5 Else J = -ctP * 0.5ElseJ = Atn(J / Sqr(-J * J + 1))End IfIf x < 0 Then J = -ctP - Jx = S * Cos(J + ToJ): y = S * Sin(J + ToJ) End Sub Private Sub Command1_Click()EndEnd Sub五、运行结果六.心得体会通过本次课程设计,使我对VB的认识更加深入了一层,VB主要由两部分组成,一个是Visual 可视化界面设计,另一个是Basic程序设计。
VB开发记事本的功能(文本文档 (

VB开发记事本的功能(文本文档 (.txt) )功能:VB开发记事本的功能(文本文档 (.txt) ),使其具有记事本的各块功能VB界面如下:图二1.电脑上必须要先Microsoft Visual Studio(也就是VB软件)2.用VB软件设置窗口如上(图二)3.各个Command对应的VB代码如下:' 初始化Private Sub Form_Load()' 设置当前路径ChDir App.PathChDrive App.Path' 设置文本框的位置txtEdit.Move 0, 0' 初始Filename变量FileName = "Untitled"FileType = 1' 设置窗体位置Top = Screen.Height / 2 - Height / 2 Left = Screen.Width / 2 - Width / 2 End Sub' 改变窗口大小Private Sub Form_Resize()' 窗体大小改变时,相应的改变文本框大小 txtEdit.Width = ScaleWidthtxtEdit.Height = ScaleHeightEnd Sub' “文件”菜单Private Sub mnuFileItem_Click(Index As Integer)On Error GoTo errhandler' 设置过滤器CMDialog1.Filter = "All Files (*.*)|*.*|Text Files (*.txt)|*.txt|RTF Files (*.rtf)|*.rtf"' 设置缺省过滤器CMDialog1.FilterIndex = 2Select Case Index' 根据菜单的索引选择相应的操作Case 0' 如果index = 0, 新建文本文件txtEdit.Text = "" '清空文本框内容FileName = "Untitled"frmEditor.Caption = "记事本: " & FileName '设置记事本标题为 "记事本: Untitled"Case 1' 如果index = 1, 打开文本文件' 显示"打开"对话框CMDialog1.ShowOpenFileName = CMDialog1.FileNameOpenFile (FileName)Case 2' 如果index = 2, 保存文件If FileName = "Untitled" Then'如果文件尚未命名,则显示保存对话框 CMDialog1.ShowSaveFileName = CMDialog1.FileNameWriteFile (FileName)Else'否则直接保存SaveFile (FileName)End IfCase 3' 如果index = 3,另存文件' 显示另存对话框CMDialog1.ShowSaveFileName = CMDialog1.FileNameWriteFile (FileName)Case 4' 无操作,分隔Case 5EndEnd Selecterrhandler:' 错误处理Exit SubEnd Sub' “文件”菜单中的历史文件列表菜单Private Sub mnuFileArray_Click(Index As Integer)' 打开选择的文件If Index >= 0 ThenOpenFile (mnuFileArray(Index).Caption) End IfEnd Sub' 设置“编辑”菜单中子菜单的状态Private Sub mnuEdit_Click()' 如果没有选中文本则使剪切和复制不可用mnuEditItem(0).Enabled = (txtEdit.SelLength > 0) mnuEditItem(1).Enabled = (txtEdit.SelLength > 0)End Sub' “编辑”菜单Private Sub mnuEditItem_Click(Index As Integer)Select Case IndexCase 0' 如果 Index = 0, 剪切选中文本Clipboard.ClearIf FileType = 0 Then ' 剪切选择的文本到Clipboard中.Clipboard.SetText txtEdit.SelRTFtxtEdit.SelRTF = "" ' 清除选中的文本ElseClipboard.SetText txtEdit.SelTexttxtEdit.SelText = "" ' 清除选中的文本End IfCase 1' 如果 Index = 1, 复制选中文本Clipboard.ClearIf FileType = 0 Then ' 复制选择的文本到Clipboard中Clipboard.SetText txtEdit.SelRTFElseClipboard.SetText txtEdit.SelTextEnd IfCase 2' 如果 Index = 2, 粘贴文本txtEdit.SelText = Clipboard.GetText() ' 粘贴文本Case 3' 菜单分隔符Case 4, 5' 如果 Index = 4 5, 查找替换frmFind.Show 0, frmEditorCase 6' 菜单分隔符Case 7' 如果 Index = 4, 全选txtEdit.SelStart = 0txtEdit.SelLength = Len(txtEdit.Text) End SelectEnd Sub' “设置”菜单Private Sub mnuSettingsItem_Click(Index As Integer) On Error GoTo errhandlerSelect Case IndexCase 0' 设置字体CMDialog1.Flags = cdlCFBothCMDialog1.ShowFont '显示“字体”对话框With txtEdit.SelFontName = CMDialog1.FontName.SelBold = CMDialog1.FontBold.SelItalic = CMDialog1.FontItalic.SelFontSize = CMDialog1.FontSize.SelUnderline = CMDialog1.FontUnderline.SelStrikeThru = CMDialog1.FontStrikethruEnd WithCase 1' 设置字体颜色CMDialog1.ShowColor '显示“颜色”对话框txtEdit.SelColor = CMDialog1.ColorEnd Selecterrhandler:' 错误处理Exit SubEnd Sub运行VB时,需要先打开SolidWorks一个新零件窗口,然后运行VB,点击界面按钮即可运行结果:完美实现对应功能。
VB文本编辑器设计报告

课程设计报告课程:Visual Basic 程序设计课题:文本编辑器(易记本)专业:计算机信息管理班级:学号:姓名:@一路偏向北教师:2011-12-23一、课程设计目的通过一学期的Visual Basic 程序设计学习,以及平时的上机实验,初步掌握了VB程序设计的各种方法,学会了编写最基本的VB程序;对于完整的VB程序设计来讲是很不足的,平时掌握的只是单独的窗体(Form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的VB程序设计,结合所学的基本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的VB应用程序;这样在巩固VB所学的同时,更好地学会程序设计的一些思想和方法,对于以后的编程学习或是工作有重要的实践意义。
二、题目及简介文本编辑器模仿Windows自带的本文编辑器,要求:做到有下拉式菜单栏,有最基本的文本编辑功能,包括复制、剪切、粘贴、全选、查找;同时拥有文本的管理功能,其中包括新建文本、打开、保存;以及完整的运行退出等系统应用功能,所有操作可选择设定快捷键,更快更方便地使用程序,同时对于一个小程序而言,可给出基本的使用说明以及相关信息。
提示:注意使用消息框,以及使用右击弹出式菜单,注意程序的完整性可可用性。
三、设计说明题目为文本编辑器,即是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善,做成一个完整的小程序功能设计说明:功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要利用到窗体(Form)一个,控件包括:RichTextBox1(超文本框)、CommonDialog(通用对话框),以及InputBox(消息框)、菜单编辑器等,。
要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺畅运行。
本次设计在按照题目要求的前提下,为了完整地展示一个应用程序,在最初就设计为最基本的文本的编辑器,所以取名为“易记本”,就是简易记事本的简称,然后加入图标,在程序完成之后还进行了大包操作,得到应用程序的安装文件,最后安装在电脑上运行使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
好了,其它的菜单项以后再根据需要添加。现在进入:
步骤三:编写代码。
'声明查找变量 Dim sFind As String '声明文件类型 Dim FileType, FiType As String
'初始化程序 Private Sub Form_Load() '设置程序启动时的大小 Me.Height = 6000 Me.Width = 9000 End Sub
意思就是做个记事本吧 看下面的 用 VB 做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算 讨论用手动方法制作记事本,旨在向 VB 初学者展示:学 VB 原来是如此容易! 通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用 RichText 控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。
'关于 Private Sub mnuAbout_Click() MsgBox "超级记事本 Ver1.0 版权所有(C) 2001 土人",vbOKOnly,"关于" End Sub
'设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单) Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu mnuEdit, vbPopupMenuLeftAlign Else Exit Sub End If End Sub
'保存文件 Private Sub mnuSave_Click() CommonDialog1.Filter = " 文 本 文 档 (*.txt)|*.txt|RTF 文 档 (*.rtf)|*.rtf| 所 有 文 件 (*.*)|*.*" CommonDialog1.ShowSave FileType = CommonDialog1.FileTitle FiType = LCase(Right(FileType, 3)) FileName = CommonDialog1.FileName Select Case FiType Case "txt" RichTextBox1.SaveFile FileName, rtfText Case "rtf" RichTextBox1.SaveFile FileName, rtfRTF Case "*.*" RichTextBox1.SaveFile FileName End Select Me.Caption = "超级记事本:" & FileName End Sub
至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成 XXX.EXE”,回到桌面运行 我们的记事本看看,是不是颇有成就感? 当然,这样的记事本还比较序界面
多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专 业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。
一.工具栏 (一)制作工具栏 单击“工程”-“部件”,选中 Microsoft Windows Common Control 6.0 并确定。这时,我们 要用到的控件就出现在左边的工具栏上了。 要做工具栏,首先需要一个叫 ImageList 的控件来装载图像。在程序界面上添加它,然后右 键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片” 就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在 C:\Microsoft Visual Studio\Common\Graphics\Bitmaps\TlBr_W95 下选择(这里假设你的 VB 安装在 C 盘下)。注意 了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建” 的图片,我们在“关键字”栏注明“New”。 图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键 单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项: 1.“图像列表”:选择 ImageList1 2.“样式”:根据喜爱选择 1-trbStandard 或者 2-trbFlat 继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。 这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建” 按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即 ImageList1 中的图片关 键字),需要的话还可以在“工具提示文本”项填入适当的提示语。 (二)编写工具栏的按钮代码 工具栏按钮的代码编辑很简单,可以按照下面的格式去编写: Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button) On Error Resume Next '出错处理 Select Case Button.Key '按关键字选择 Case "新建" mnuNew_Click '等于菜单项“新建”被单击 Case "打开" '等于菜单项“打开”被单击 mnuOpen_Click '......(继续编写其它按钮的代码)
'防止在切换输入法时字体自变(感谢王必成先生提供此方案)
Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeySpace Then RichTextBox1.SelFontName = CommonDialog1.FontName End If End Sub
'使用说明 Private Sub mnuReadme_Click() On Error GoTo handler RichTextBox1.LoadFile "Readme.txt", rtfText '请写好 Readme.txt 文件并存入程序所在 文件夹中 Me.Caption = "超级记事本:" & "使用说明" Exit Sub handler: MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息" End Sub
'退出 Private Sub mnuExit_Click() End End Sub
'复制 Private Sub mnuCopy_Click() Clipboard.Clear Clipboard.SetText RichTextBox1.SelText End Sub
'剪切 Private Sub mnuCut_Click() Clipboard.Clear Clipboard.SetText RichTextBox1.SelText RichTextBox1.SelText = "" End Sub
步骤二:编辑菜单。 按 Ctrl+E 调出菜单编辑器,我们来做如下几个菜单: 一.文件菜单: 文件(第一层) mnuFile 新建(第二层) mnuNew 打开(第二层) mnuOpen 保存(第二层) mnuSave - (第二层) mnuFileSep (分隔线) 退出(第二层) mnuExit 二.编辑菜单: 编辑(第一层) mnuEdit 复制(第二层) mnuCopy 剪切(第二层) mnuCut 粘贴(第二层) mnuPaste - (第二层) mnuEditSep (分隔线) 全选(第二层) mnuSelecAll 三.搜索菜单: 搜索(第一层) mnuSearch 查找(第二层) mnuFind 查找下一个(第二层) mnuFindOn 四.帮助菜单: 帮助(第一层) mnuHelp 使用说明(第二层) mnuUsage 关于(第二层) mnuAbout (注:各菜单项的快捷键请自行设置)
'查找 Private Sub mnuFind_Click() sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind) RichTextBox1.Find sFind End Sub
'继续查找 Private Sub mnuFindOn_Click() RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1 RichTextBox1.Find sFind, , Len(RichTextBox1) End Sub
'新建文件 Private Sub mnuNew_Click() RichTextBox1.Text = "" '清空文本框 FileName = "未命名" Me.Caption = FileName End Sub
'打开文件 Private Sub mnuOpen_Click() CommonDialog1.Filter = " 文 本 文 档 (*.txt)|*.txt|RTF 文 档 (*.rtf)|*.rtf| 所 有 文 件 (*.*)|*.*" CommonDialog1.ShowOpen RichTextBox1.Text = "" '清空文本框 FileName = CommonDialog1.FileName RichTextBox1.LoadFile FileName Me.Caption = "超级记事本:" & FileName End Sub