VB制作个人记事本
VB程序题
1. 参照下图制作一滚动字幕(滚动方式自由设计)。
任务1:完成学生成绩管理系统。第五章
要求:1)利用数组实现各个按钮的功能。
2)动态数组。
2. 建立一个如下图所示的记事本应用程序(小图标也可用文字替代)。 任务1:完成学生成绩管理系统。第五章
要求:1)利用数组实现各个按钮的功能。
2)动态数组。
3. 编写华氏温度与摄氏温度之间转换的程序。
任务1:完成学生成绩管理系统。
第五章
要求:1)利用数组实现各个按钮的功能。
2)动态数组。
4. 建立一个登录程序,界面参考下图。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
5. 编写一个自动贩卖机系统,运行界面如下图所示。
任务1:完成学生成绩管理系统。第五章
要求:1)利用数组实现各个按钮的功能。
2)动态数组。
6. 编写如下图所示的猜数游戏程序。
7. 百元买百鸡。假设小鸡每只0.5
元,公鸡每只2元,母鸡
每只3元,编程求解购鸡方案。结果如下图所示。 任务1:完成学生成绩管理系统。第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
8. 编写一个简易“学生成绩管理系统”。第一行3个按钮的功能必做,第二行完成“成绩统计”功能。 任务1:完成学生成绩管理系统。
第五章
要求:1)利用数组实现各个按钮的功能。
2)动态数组。
9. 编写一个简易“学生成绩管理系统”。第一行3个按钮的功能必做,第二行完成“成绩排序”功能。 任务1:完成学生成绩管理系统。第五章
要求:1)利用数组实现各个按钮的功能。
2)动态数组。
10. 编写一个简易“学生成绩管理系统”。第一行3个按钮的
用VB写记事本的程序
用VB写记事本的程序文件编码(GHTU-U GB KT-POIU-WUUI-8968)
1、 新建工程
启动VB 程序后,建立一个新的工程。出现“窗体设计器”。
2、 创建记事本的菜单栏
打开工具选项条单击菜单编辑器
也工曜 1 ・ Mfcrosoft Viwal 8atc :
(1)在标题栏里面分别添加“文件(&F) ” “编辑(&E) ” “格式 (&A) …帮助(&H) ”并分别设置名称和快捷键。
可视化 程序课 程 记事本程序实验报告
抄・0・13 Q
X 殓P 啊!
► II ■
㉛囱电
过砂I 性(A)・“
6015x6495
0无标童-记事本
交性(E) »»E)曙式g) |r«ti
X
文故B SWKE) 18® W»(Q)运行⑻ WiSJUJ) BMW) TM(D 外樓够<A) SQMD
C3 IS1 ・ Form] (Form)
BAL F
13 SWMWtHK 理)…Ctrl+E
3®(O)..
(2)分别在“文件”“编辑”“格式” “帮助”选项下编辑如图所示的的子菜单,设置标题,名称,快捷键。
Textl.Tixt =
Forml. Capti on ="无标题-记事本" End Sub
注解: 二〃无标题-记事本〃把新建记事本的名字定义为“无标题-
记事本” ②打开open
|open
|Click
Private Sub open_Click 0 Oit Error GoTo a
C omiTioiLDi alogl. ShowOpen '分离路径和鬟件名 Dim index As Integer
index = InStrRev CCornmonDi alogl. FileName ? s£ile = Right (CommonDi^logl. Filellaine^ Len(CorrimonDi alog :l. FileNani^) - index) sdir = Left (CommonDialogl. Fileliajrie. index - 1) '打开文件
VB教程
VB教程网/VBjc/Vb.HTM
编写趣味撞球小游戏
文章来源:沐风经典文章作者:佚名
Visual Basic是一个功能强大的工具,它有一大特点就是易学易用,下面我们就通过写一个“趣味撞球”的程序来初步体会一下。
首先启动VB5,新建一个标准的EXE工程。此时可以看到,工程包括一个Form1框体。在Form1边框的右下角按住鼠标左键不放,拖动鼠标把Form1的面积改为适当大小,比如6930×4320。再在属性框中把Form1的ScaleMode 属性改为3-Pixel,表明我们将以像素为我们的坐标计算单位,把Form1的StartUpPosition 属性设为2-CenterScreen,使运行时窗体出现在屏幕正中。
现在,在控件面板上选取CommandButton(命令按钮)控件,为Form1添加Command1和Command2两个按钮控件,把它们的大小设为121×25,再在属性框中把Command1的Caption填为“&GO”,把Command2的Caption填为“&QUIT”,并把Command1放到框体的右上角,把Command2放到框体的右下角。
然后,在控件面板上选取Timer(时钟)控件,为Form1添加一个Timer1时钟控件。再在属性框中把它的Enabled属性改为False,Interval属性改为50,前一个值表示该时钟控件是否激活,后一个值决定该时钟控件产生Timer事件的间隔时间,我们将用它来控制小球的移动频率。
到此为止,我们已经完成了全部的界面设计工作。接下来要做的全部工作就是填入程序
超级记事本
超级记事本设计过程:
一、新建工程
二、制作菜单栏
1、工具→菜单编辑器
2、输入菜单标题、名称、快捷键等内容。
(1)、文件(file)→新建(new)、打开(open)、保存(save)、退出(end)
(2)、编辑(edit)→全选(all)、复制(copy)、粘贴(niantie)、剪切(qianqie)、删除(delete)
(3)、格式(geshi)→字体(font)
(4)、搜索(sousuo)→查找(find)、查找下一个(next)、替换(tihuan)、全部替换(atihuan) (5)、关于(about)
三、制作工具栏
1、添加第三方控件:工程→部件→microsoft
windows common controls6.0
2、添加工具栏控件(toolbar)
3、添加工具栏图标(*.ico):添加imagelist
控件。
四、制作状态栏
1、添加statusbar 控件
2、设计状态栏(右击→属性)
3、应用状态栏(添加timer控件)
•代码:Private Sub Timer1_Timer()
•For i = 1 To 6
•StatusBar1.Panels(i).AutoSize = sbrContents
•Next i
•StatusBar1.Panels(1).Text = "当前系统时间:"
•StatusBar1.Panels(2).Text = Now
•StatusBar1.Panels(3).Style = sbrCaps
•StatusBar1.Panels(4).Style = sbrNum
vb课程设计--记事本程序的编写
1 选题的背景与意义
1.1 记事本创建的背景
通过一学期的vb课程学习,理解并掌握了许多相关知识,知道了面向对象程序设计的基本概念和可视化程序设计的基本方法。为了更好地掌握与运用vb 中最常用的有关窗体和各种控件的运用、菜单、工具栏、对话框、状态栏、的设计以及文件操作等技术,因此在在学完该课程之后,设计了一个能够编辑编辑文本文档、RichText 文档,其文字处理能力类似于Word的简易记事本。
1.2 记事本创建的意义
该记事本具有操作简单,易懂灵活,一目了然的特点,同时由于运用了RichText控件,因此能够打开和编辑任意大的文档,运用起来比windows自带的记事本方便的多。从而为那些计算机技术应用并不熟练但需要使用计算机快速编辑和修改文档的用户提供了便利。同时该程序的编写也使得自己的知识掌握的更见牢固。
2 系统详细设计
2.1 主要功能
能够编辑文本文档,其文字处理功能类似于Word。
具有打开、保存、新建和退出文件功能。
具有剪切、复制、粘贴、设置文字的字体以及大小、颜色、对齐等文字编功能。以及字符串的查找功能。
打印功能。
2.2 要点的实现既使用技术
首先,在创建程序是应先设置窗体大小和编辑框的大小。
'窗体的加载事件
Private Sub Form_Load()
Form1.Top = 0
Form1.Left = 0
Me.Height = Screen.Height - 4000
Me.Width = Screen.Width - 5000
CommonDialog1.FontName = "宋体" '程序运行时字体是宋体
记事本代码
记事本代码
#include<iostream.h>
#include<string.h>
#include<ctype.h> //为了以下使用isdigit(string)函数作铺垫typedef struct node{
char a[100]; //每行100字符
node * next; //关于此处next的作用还不清楚,但不可去掉
}node;
class notepad{
public:
notepad(){
i=1;
line=0;
}
~notepad(){}
void operator_interface();
void input();
void ct_input();
void delete1();
void copy();
void paste();
void open();
void save();
char * find();
void print();
char store[100]; //储存需复制内容
private:
char * ptr_array[100]; //指针数组,记录100行行指针
int linelen[100]; //最大100行
int line; //当前总行数
char d[30]; //记录操作数据
int k,l; //记录当前查找行il
int i; //文档录入初始标记
};
void notepad::operator_interface(){
cout<<"********************************************************"<<en dl;
VB简易记事本实现代码
VB简易记事本实现代码
事件实现代码:
复制代码代码如下:
Private Sub mQuit_Click()
Text1.Text = ""
End
End Sub
Private Sub mNew_Click()
Text1.Text = ""
Form1.Caption = "未命名"
End Sub
Private Sub mopen_Click()
CommonDialog1.ShowOpen
Frame = CommonDialog1.FileName
If fname <> "" Then
Form1.Caption = fname
Text1.Text = ""
Open fname For Input As #1
b = ""
Do Until EOF(1)
Line Input #1, nextline
b = b & nextline & Chr(13) & Chr(10)
Loop
Close #1
Text1.Text = b
End If
End Sub
Private Sub mSave_Click()
If Form1.Caption = "未命名" Or Form1.Caption = "" Then
CommonDialog1.ShowSave
fname = CommonDialog1.FileName
Else
fname = Form1.Caption
End If
If fname <> "" Then
Form1.Caption = fname
Open fname For Output As #1
vb界面设计
4.2.2 利用菜单编辑器创建菜单栏
2. 创建分隔线 当一个菜单标题上放置的菜单项较多时,为了直观,可以使 用水平线将菜单项分组。建立菜单分隔线的步骤与建立菜单 项的步骤相似,惟一的区别就是在菜单编辑器的【标题】框 中输入一个连字符“-”。 3. 创建热键与快捷键 建立热键(访问键)的方法与命令按钮相同,即在菜单标题 的某个字符前加上一个&符号,在菜单中这一字符会自动加 上下划线,表示该字符是一个热键字符。 建立快捷键的方法是打开菜单编辑器中快捷键(Shortcut) 下拉式式列表框并选择一个组合键选项,则菜单项标题的右 边会显示快捷键名称。 说明:热键指使用Alt键+字符键来打开菜单。
4.2.1 菜单编辑器
VB提供的“菜单编辑器”是一种用来建立菜单 栏的工具,利用它可以非常方便、快捷地在应用 程序的窗体上建立菜单。打开“菜单编辑器”对 话框的方法有以下几种: (1)选择【工具】菜单中的【菜单管理器】命 令: (2)单击标准工具栏中的“菜单编辑器”按纽: (3)让窗体显示在开发环境中,按Ctrl+E键: (4)右击窗体空白处,在快捷菜单中选择【菜 单编辑器】命令。
4.1.2 ”记事本”设计思路
VB设计记事本程序VB编程ppt课件
Visual Basic 2005 编程基础与项目实践——第11章 记事本 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用
StatusStrip
Visual Basic 2005 编程基础与项目实践——第11章 记事本 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用
Visual Basic 2005 编程基础与项目实践——第11章 记事本 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用
记事本界面设计
Visual Basic 2005 编程基础与项目实践——第11章 记事本 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用
Name 属性
menuE dit menuU ndo
Shortcut Keys属性
None
CtrlZ
ShowShor tcutKeys
属性 -
VBS教程
VBS教程 首先,我说一下什么是VBS,VBS,就是VBScript的简称,是微软Visual Basic(VB) 的简化版,VBS脚本文件的扩展名为“.vbs”,VBS脚本能给我们日常的学习生活带来 莫大的好处,可是,VBS也是黑客入侵的一个漏洞,“VBS病毒”就是VBS脚本所编写 的病毒。 废话不说,咱先进入正题。 第一课:msgbox 打开记事本,输入 msgbox"你好" ,点“文件”——“保存”,或者按Ctrl+s,弹出“另 存为”对话框,选择要保存的路径,输入“1.vbs”,点“保存”(1.vbs的“1”是文 件名,可以改,但是“.vbs”是分隔符和文件扩展名,不能改。),双击运行,效果如 下: 你会发现,怎么没有标题? 接下来,就教你设置标题。 打开记事本,输入 msgbox"你好",,"你好" ,然后保存(保存方法在第五行已经讲明, 不再复述),双击运行,效果如下: 可能会遇到这个错误: 这是因为引号在中文输入法下输入,应该切换为英文输入法,即 msgbox{显示内容},{参数},{标题} 现在,我讲一下msgbox函数的参数 0:只有一个确定按钮 1:有一个确定按钮和取消按钮 2:有终止、重试、忽略按钮 3:有是、否、取消按钮 4:只有是、否按钮 5:只有重试、取消按钮 16:提示框类型为系统错误信息 32:有一个问号图标 48:提示框类型为系统警告信息 64:有一个感叹号图标 第二课:inputbox 这个函数是弹出一个文本框。 打开记事本,输入 inputbox"输入文字:","文字" ,然后保存,双击运行,效果如下: inputbox{显示内容},{标题} 第三课:常量与变量 上一课学习了inputbox函数,弹出一个文本框。 然后,你可能会问:能不能弹出一个文本框,当别人输入文本然后点确定时,用msgbox 函数显示出输入的文本? 我的回答是:完全可以! 1、常量 例如语句 msgbox"你好" 中的"你好"是一个常量,带引号的都是常量(字符串)。 2、变量 例如语句 dim a a=inputbox("输入文字:","文字" ) msgbox a,,"文字" 效果为: 输入“你好” VBS中,dim函数要引用多个变量,用逗号分隔,例如 dim a,b,c 变量中,引用函数的常量或变量要用括号,例如 dim a a=msgbox("1",1) msgbox a 点“确定”,显示值: 1 点“取消”,显示值: 2 还有 & 号分隔符 例如 msgbox "a" & "b" 显示“ab” 变量的用途就是来显示输出的值。 第四课:do函数 do函数的用处是无限循环某段语句,适合制作整人程序。 打开记事本,输入 do msgbox"你好" loop 然后保存,双击运行。 会弹出无数个“你好”对话框
VB编写记事本自动换行与不自动换行切换
换行在代码中实现互相切换请不要告诉我把multiline的值改成TRUEscrollbars改成2或者3这些在代码中都是无法实现的最好把代码写全告诉我,谢谢各位了你们知道“记事本”是怎么实现“自动换行”的吗? 居然是:将原来的文本框删掉,再新建一个! 当初我也是满怀信心的思索记事本自动换行的原理,后来没想到居然是这样的一个结果 楼主请打开记事本,粘贴以下代码,保存为form1.frm,VB打开VERSION 5.00Begin VB.Form Form1 Caption = "Form1"ClientHeight = 5100ClientLeft = 120ClientTop = 450ClientWidth = 6405LinkTopic = "Form1"ScaleHeight = 5100ScaleWidth = 6405StartUpPosition = 3 '窗口缺省Begin mandButton Command1 Caption = "自动换行"Height = 615Left = 4560TabIndex = 1Top = 480Width = 1575EndBegin VB.TextBox Text1 Height = 3615Left = 240MultiLine = -1 'TrueTabIndex = 0Text = "你们知道“记事本”是怎么实现“自动换行”的吗? 结果非常令人想死 居然是:将原来的文本框删掉,再新建一个! 当初我也是满怀信心的思索记事本自动换行的原理,后来没想到居然是这样的一个结果 你们知道“记事本”是怎么实现“自动换行”的吗? 结果非常令人想死 居然是:将原来的文本框删掉,再新建一个! 当初我也是满怀信心的思索记事本自动换行的原理,后来没想到居然是这样的一个结果 你们知道“记事本”是怎么实现“自动换行”的吗? 结果非常令人想死 居然是:将原来的文本框删掉,再新建一个! 当初我也是满怀信心的思索记事本自动换行的原理,后来没想到居然是这样的一个结果 "Top = 480Width = 3975EndBegin VB.TextBox Text2 Height = 3615Left = 240MultiLine = -1 'TrueScrollBars = 3 'BothTabIndex = 2Top = 480Visible = 0 'FalseWidth = 3975EndEndAttribute VB_Name = "Form1"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseDim atuoL As BooleanPrivate Sub Command1_Click()If atuoL = False ThenText2.Text = Text1.TextText2.Visible = TrueText1.Visible = FalseatuoL = TrueElseText1.Text = Text2.TextText2.Visible = FalseText1.Visible = TrueatuoL = FalseEnd IfEnd Sub
VB中sendkeys用法
SendKeys 模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行, 其使用格式为:object.SendKeys string “object”:表示WshShell对象 “string”:表示要发送的按键指令字符串,需要放在英文双引号中。 1.基本键 一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母“x”,使用“WshShell.SendKeys "x"”即可。当然,也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可,例如,要发送按键“happy”,可以使用“WshShell.SendKeys "happy"”。 2.特殊功能键 对于需要与Shift、Ctrl、Alt三个控制键组合的按键,SendKeys使用特殊字符来表示: Shift---------WshShell.SendKeys "+" Ctrl---------WshShell.SendKeys "^" Alt---------WshShell.SendKeys "%" 由于“+”、“^”这些字符用来表示特殊的控制按键了,如何表示这些按键呢? 只要用大括号括住这些字符即可。例如: 要发送加号“+”,可使用“WshShell.SendKeys "{+}"” 另外对于一些不会生成字符的控制功能按键,也同样需要使用大括号括起来按键的名称,例如要发送回车键,需要用“WshShell.SendKeys "{ENTER}"”表示,发送向下的方向键用“WshShell.SendKeys "{DOWN}"”表示。 Space---------WshShell.SendKeys " " Enter---------WshShell.SendKeys "{ENTER}" ←---------WshShell.SendKeys "{RIGHT}" ↑---------WshShell.SendKeys "{UP}" F1---------WshShell.SendKeys "{F1}" Tips:如果需要发送多个重复的单字母按键,不必重复输入该字母,SendKeys允许使用简化格式进行描述,使用格式为“{按键 数字}”。例如要发送10个字母“x”,则输入“WshShell.SendKeys "{x 10}"”即可。 实例: ---------------------------------------------------- 按下F5刷新桌面 Dim WshShell,Path,i Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "{F5}" ---------------------------------------------------- 电脑的自动重启 set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "^{ESC}u" WshShell.SendKeys "R" ---------------------------------------------------- 启动任务管理器 set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "^+{ESC}" ---------------------------------------------------- QQ消息群发 Dim WshShell Set WshShell= WScript.createObject("WScript.Shell") WshShell.AppActivate "bomb" for i=1 to 60 WScript.Sleep 800 WshShell.SendKeys "Number0" WshShell.SendKeys i WshShell.SendKeys "%s" next ---------------------------------------------------- 自动到百度搜索歌曲:white flag Dim WshShell,Path,i Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run("IEXPLORE.EXE") WScript.Sleep 2000 WshShell.AppActivate "ab
VB Shell函数用法
示例代码:
1.打开记事本
Private Sub Command1_Click()
Shell "Notepad E:¥VB练习¥添加DTPicker控件.txt ",
vbNormalFocus
End Sub
注:NotePad后有空格
2.打开QQ登陆界面
Private Sub Command2_Click()
Shell "D:¥Program Files¥Tencent¥QQ2009¥Bin¥qq.exe", vbNormalFocus
End Sub
3.打开Word文档
Private Sub Command3_Click(Index As Integer)
Dim strDir As String
strDir = "E:¥VB练习¥Test.doc"
Select Case Index
Case 0
Shell "C:¥Program Files¥Microsoft
Office¥OFFICE11¥WINWORD.EXE " & strDir, vbHide Case 1
Shell "C:¥Program Files¥Microsoft
Office¥OFFICE11¥WINWORD.EXE " & strDir, vbNormalFocus
Case 2
Shell "C:¥Program Files¥Microsoft
Office¥OFFICE11¥WINWORD.EXE " & strDir, vbMinimizedNoFocus Case 3
Shell "C:¥Program Files¥Microsoft
在VB中使用API函数
在VB中使用API函数
在VB中,使用API函数可以为程序添加更多的功能和灵活性。API 函数是由Windows操作系统提供的动态链接库(DLL)中的函数,可以通过声明函数的方式在VB中调用它们。
1. GetTickCount函数:
GetTickCount函数用于获取自系统启动以来的毫秒数。可以使用它来计算程序的运行时间或者进行定时操作。
声明函数:Declare Function GetTickCount Lib "kernel32" ( As Long
使用示例:Dim startTime As Long
startTime = GetTickCount
'运行程序的一些操作
Dim endTime As Long
endTime = GetTickCount
Dim duration As Long
duration = endTime - startTime
MsgBox "程序运行时间:" & duration & "毫秒"
2. GetAsyncKeyState函数:
GetAsyncKeyState函数用于检测指定键是否被按下。可以用于开发游戏、快捷键等功能。
声明函数:Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
使用示例:If GetAsyncKeyState(vbKeyF1) Then
MsgBox "F1被按下"
End If
3. GetCursorPos函数:
GetCursorPos函数用于获取鼠标的屏幕坐标。可以用于开发屏幕取点等功能。
使用VB程序制作记事本
顺序文件的打开/建立操作
• 格式:
– Open 文件名 For input|output|append As [#]文 件号 [Len=缓冲区大小]
• 说明:
– – – – – 文件名:绝对路径,缺省路径时表示当前目录 Input:读:文件必须事先存在 Input Output:写 Append:追加 文件号:用来标识打开文件的数字号,范围是1511。
使用VB程序制作记事本 使用VB程序制作记事本
鲁 燃
前导知识及新知识引入
• • • • 界面设计的基本控件 VB程序设计的语法 程序设计的语法 VB程序设计的基本语句 程序设计的基本语句 演示“记事本” 演示“记事本”
实现目标
教学目标及要求
• 掌握 创建记事本的方法 掌握VB创建记事本的方法 • 通过创建记事本,要求熟悉以下内容 通过创建记事本,
本次课结束谢谢大家
文件操作
• 按照文件的存取访问方式分为: 按照文件的存取访问方式分为:
– – – 顺序访问文件(顺序文件) 顺序访问文件(顺序文件) 随机访问文件(随机文件) 随机访问文件(随机文件) 二进制访问文件(二进制文件) 二进制访问文件(二进制文件)
文件的操作顺序
• • • 打开文件 读写文件 关闭文件
本节内容回顾
• 通过以下内容的使用,掌握创建记事本 通过以下内容的使用, 程序的方法
VB记事本代码
《跟我学做记事本》
我想有了这个示例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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 让我们的记事本马上运行
急于求成是初学者共有的心愿。那好,请按如下三个步骤做,我们的愿望立即就可以实现!
步骤一:绘制界面。
新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到MicrosoftRichTextBox 6.0和公共对话框Microsoft CommonDialog6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichTextBox和CommnDialog,其中RichTextBox的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。
步骤二:编辑菜单。
按Ctrl+E调出菜单编辑器,我们来做如下几个菜单:
一.文件菜单:
文件(第一层) mnuFile
新建(第二层) mnuNew
打开(第二层) mnuOpen
保存(第二层) mnuSave
- (第二层) mnuFileSep (分隔线)
退出(第二层) mnuExit
二.编辑菜单:
编辑(第一层) mnuEdit
复制(第二层) mnuCopy
剪切(第二层) mnuCut
粘贴(第二层) mnuPaste
- (第二层) mnuEditSep (分隔线)
全选(第二层) mnuSelecAll
三.搜索菜单:
搜索(第一层) mnuSearch
查找(第二层) mnuFind
查找下一个(第二层) mnuFindOn
四.帮助菜单:
帮助(第一层) mnuHelp
使用说明(第二层) mnuUsage
关于(第二层) mnuAbout
(注:各菜单项的快捷键请自行设置)
好了,其它的菜单项以后再根据需要添加。现在进入:
步骤三:编写代码。
'声明查找变量
Dim sFind As String
'声明文件类型
Dim FileType, FiType As String
'初始化程序
Private Sub Form_Load()
'设置程序启动时的大小
Me.border='1' Height = 6000
Me.Width = 9000
End Sub
'设置编辑框的位置和大小
Private Sub Form_Resize()
On Error Resume Next '出错处理
RichTextBox1.Top=20
RichTextBox1.center=20
RichTextBox1.border='1' Height = Scaleborder='1' Height-40
RichTextBox1.Width = ScaleWidth-40
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
'保存文件
Private Sub mnuSave_Click()
CommonDialog1.Filter="文本文档(*.txt) *.txt RTF文档(*.rtf) *.rtf 所有文件(*.*) *.*"
CommonDialog1.ShowSave
FileType = CommonDialog1.FileTitle
FiType = LCase(center(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
'退出
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
'全选
Private Sub mnuSelectAll_Click()
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = Len(RichTextBox1.Text)
End Sub
'粘贴
Private Sub mnuPaste_Click()
RichTextBox1.SelText = Clipboard.GetText
End Sub
'查找
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 mnuReadme_Click()
On Error GoTo handler
RichTextBox1.LoadFile "Readme.txt",rtfText'请写好Readme.txt文件并存入程序所在文件夹中
Me.Caption = "超级记事本:" & "使用说明"
Exit Sub
handler:
MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息"
End Sub