手机版

百科游戏 手游攻略

超级记事本(超级记事本SuperNotePad好不好)

百科 2025-10-22 10:32:15 手游攻略 阅读:6612次

如何用记事本编程

跟我学做记事本-编程实例

用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易!

通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。

第一章让我们的记事本马上运行

急于求成是初学者共有的心愿。那好,请按如下三个步骤做,我们的愿望立即就可以实现!

步骤一:绘制界面。

新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft

RichTextBox6.0和公共对话框MicrosoftCommonDialog6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichText

Box和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

(注:各菜单项的快捷键请自行设置)

好了,其它的菜单项以后再根据需要添加。现在进入:

步骤三:编写代码。

'声明查找变量

DimsFindAsString

'声明文件类型

DimFileType,FiTypeAsString

'初始化程序

PrivateSubForm_Load()

'设置程序启动时的大小

Me.Height=6000

Me.Width=9000

EndSub

'设置编辑框的位置和大小

PrivateSubForm_Resize()

OnErrorResumeNext'出错处理

RichTextBox1.Top=20

RichTextBox1.Left=20

RichTextBox1.Height=ScaleHeight-40

RichTextBox1.Width=ScaleWidth-40

EndSub

'新建文件

PrivateSubmnuNew_Click()

RichTextBox1.Text=""'清空文本框

FileName="未命名"

Me.Caption=FileName

EndSub

'打开文件

PrivateSubmnuOpen_Click()

CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"

CommonDialog1.ShowOpen

RichTextBox1.Text=""'清空文本框

FileName=CommonDialog1.FileName

RichTextBox1.LoadFileFileName

Me.Caption="超级记事本:"&FileName

EndSub

'保存文件

PrivateSubmnuSave_Click()

CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"

CommonDialog1.ShowSave

FileType=CommonDialog1.FileTitle

FiType=LCase(Right(FileType,3))

FileName=CommonDialog1.FileName

SelectCaseFiType

Case"txt"

RichTextBox1.SaveFileFileName,rtfText

Case"rtf"

RichTextBox1.SaveFileFileName,rtfRTF

Case"*.*"

RichTextBox1.SaveFileFileName

EndSelect

超级记事本(超级记事本SuperNotePad好不好)

Me.Caption="超级记事本:"&FileName

EndSub

'退出

PrivateSubmnuExit_Click()

End

EndSub

'复制

PrivateSubmnuCopy_Click()

Clipboard.Clear

Clipboard.SetTextRichTextBox1.SelText

EndSub

'剪切

PrivateSubmnuCut_Click()

Clipboard.Clear

Clipboard.SetTextRichTextBox1.SelText

RichTextBox1.SelText=""

EndSub

'全选

PrivateSubmnuSelectAll_Click()

RichTextBox1.SelStart=0

RichTextBox1.SelLength=Len(RichTextBox1.Text)

EndSub

'粘贴

PrivateSubmnuPaste_Click()

RichTextBox1.SelText=Clipboard.GetText

EndSub

'查找

PrivateSubmnuFind_Click()

sFind=InputBox("请输入要查找的字、词:","查找内容",

sFind)

RichTextBox1.FindsFind

EndSub

'继续查找

PrivateSubmnuFindOn_Click()

RichTextBox1.SelStart=RichTextBox1.SelStart+RichTextBox1.SelLength+1

RichTextBox1.FindsFind,,Len(RichTextBox1)

EndSub

'使用说明

PrivateSubmnuReadme_Click()

OnErrorGoTohandler

RichTextBox1.LoadFile"Readme.txt",rtfText'请写好Readme.txt文件并存入程序所在文件夹中

Me.Caption="超级记事本:"&"使用说明"

ExitSub

handler:

MsgBox"使用说明文档可能已经被移除,请与作者联系。",

vbOKOnly,"错误信息"

EndSub

'关于

PrivateSubmnuAbout_Click()

MsgBox"超级记事本Ver1.0版权所有(C)2001土人",vbOKOnly,"关于"

EndSub

'设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单)

PrivateSubRichTextBox1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAs

Single,YAsSingle)

IfButton=2Then

PopupMenumnuEdit,vbPopupMenuLeftAlign

Else

ExitSub

EndIf

EndSub

'防止在切换输入法时字体自变(感谢王必成先生提供此方案)

PrivateSubRichTextBox1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)

IfKeyCode=vbKeySpaceThen

RichTextBox1.SelFontName=CommonDialog1.FontName

EndIf

EndSub

至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感?

当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。

第二章美化程序界面

多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。

一.工具栏

(一)制作工具栏

单击“工程”-“部件”,选中MicrosoftWindowsCommonControl6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。

要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:Microsoft

VisualStudioCommonGraphicsBitmapsTlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“New”。

图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项:

1.“图像列表”:选择ImageList1

2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat

继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。

(二)编写工具栏的按钮代码

工具栏按钮的代码编辑很简单,可以按照下面的格式去编写:

PrivateSubToolBar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

OnErrorResumeNext'出错处理

SelectCaseButton.Key'按关键字选择

Case"新建"

mnuNew_Click'等于菜单项“新建”被单击

Case"打开"'等于菜单项“打开”被单击

mnuOpen_Click

'......(继续编写其它按钮的代码)

EndSelect

EndSub

完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.Top

=20和RichTextBox1.Height=Me.ScaleHeight-40分别改为RichTextBox1.Top=

380,RichTextBox1.Height=Me.ScaleHeight-400即可。

二.状态栏

(一)制作状态栏

状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为:

0-sbrText显示文本,需编写代码

1-sbrCaps显示大小写状态,无需编程

2-sbrNum显示NumLock键开关状态,无需编程

3-sbrIns显示Insert键状态,无需编程

4-sbrScr1

5-sbrTime显示时间,不编程时时间不会随系统时钟变化

6-sbrDate显示日期,无需编程

注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height=

Me.ScaleHeight-400改为RichTextBox1.Height=Me.ScaleHeight-600。

(二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。

例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面:

StatusBar1.Panels(1).Text="目前状态:正在打开文件"

&"《"&CommonDialog1.FileTitle&"》"

例二:让第三个窗格显示时间并让时间跟随系统时钟变化。

首先,给程序加一个Timer控件,将其Interval属性设为1000。然后:

在Form_Load过程加入:StatusBar1.Panels(1).Text=Time;然后给Timer控件编写代码:

PrivateSubTimer1_Timer()

IfStatusBar1.Panels(3).Text<>CStr(Time)Then

StatusBar1.Panels(3).Text=Time

EndIf

EndSub

例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。

PrivateSubRichTextBox1_Chang()

StatusBar1.Panels(1).Text="正在编辑文档:"&

CommonDialog1.FileName

EndSub

辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。

求一个可以粘贴图片的记事本谢谢了!不要WORD

给你看看什么叫真正的超级记事本,也可以粘贴图片进去简单介绍其主要创新:加密、解密、锁定文档,文档选段加密,支持语音朗读文本,文本可直接转为语音文件,懒人专用^_^,ctrl+招标滚轮放大缩小窗口,近视专用^_×汉字转拼音、拼音缩写,大小写字母转换,文本二、八、十、十六进制、ASC码间转换,有你用得着的时候直接以VBS脚本、DOS、CMD、Win+R方式执行文本内容内置数学式计算功能,并支持固有数学函数及派生的非固有数学函数计算,正则表达式处理,随时计算方便了。甚至连标点符号全、半角转换、匹配括号定位都给你想好了,哈哈哈。。。可一键删除所有换行符、插入当前系统时间、统计字数、行数、单字字拆分、字符串拆分合并、字符翻转,没见个吧。自定义是否关联到右键菜单、程序窗口透明程度、窗口是否始终置顶、窗口背景色、文字格式、程序打开欢迎词,满足你打造个性小本本的需求。支持所有编码格式:UTF-8,BIG5,GB2321,Unicode,Unicodebigedian,Rich,Text,USC-2不必担心打开、粘贴内容会为乱码。安装后主程序大小384.0KB(393,261字节);华军软件园下载:http://www.onlinedown.net/soft/76069.htm程序唯一的缺点,就是程序员偷懒搞的那些工具栏图标==!额,一点也不可爱。不过你可以菜单"设置"去掉"显示工具栏"的勾勾,一切从右键菜单做起就又变得那么清新,简单,而又强悍的一个小小记事本。

超级记事本SuperNotePad好不好

超级记事本SuperNotePad软件特性

1.主要的特色功能︰

00)语音朗读文本

01)文本转为语音文件

02)信息密钥对称加密

03)计算表达式例︰2*sin(30*3.1415926/180)

04)执行DOS命令例︰@echooff&setlocalEnableDelayedExpansion&color0f&setall=1&set/Aa=0&set/Ab=1&set/Ac=0&for/L%%iin(0,1,44)do(set/Ac=!a!+!b!&set/Aa=!b!&set/Ab=!c!&setall=!all!!c!)&if%%iequ44(echo斐波纳齐:!all!)&pause>nul&exit

05)执行应用程序例︰"control.exeappwiz.cpl"

06)执行VBS脚本例︰a=3:b=4:c=5:p=(a+b+c)/2:msgbox"Area="&sqr(p*(p-a)*(p-b)*(p-c)),64,"海伦公式"

07)数值进制间转换(注:支持批量)

08)多种替换

转换功能(注:支持批量\par\tab\asc\nul)

09)状态栏便捷查看文本编码方式、文件路径、字符的各种信息例︰字体

大小

颜色

...

ASC码

10)浏览当前编辑文档所在的文件夹(注:F6)

11)排序

12)填充序列数(注:支持批量\par\tab\asc\nul)

13)字符/串拆分、合并、翻转

14)定位匹配括号

15)多种右键菜单(注:鼠标中键或Shift/Alt/Ctrl+鼠标右键)

16)便捷时间显示

17)关联到右键打开方式

18)便捷的几种显示模式

19)汉字转拼音/缩写

20)两种方式打开拖入文档(注:请拖到[标题栏]或[状态栏],否则识别为链接;

在[设置]中可配置拖入文档打开方式[插入/新建])

21)支持多种格式UTF-8,BIG5,GB2321,Unicode,Unicodebigedian,RichText,USC-2

22)查看密码(扩展对所有已打开的窗口密码均有效Ctrl+D)

23)正则表达式处理字符例︰"\b([a-z]+)\1\b"合并多次重复单词

2.计算功能支持函数清单:

abs()绝对值

atn()反正切值

cos()余弦值

exp()e平方

log()自然对数值

rnd()随机数

Round(Number,Decimalplaces)约进

sgn()符号

sin()正弦值

sqr()平方根

tan()正切值

^幂

-负数

*,/乘法和除法

\整除

Mod模

+,-加法和减法

&字符串连接

=相等例:(8*125=4*250)=True

不等

<小于

>大于

=大于或等于

Not取反例:not(63xor32)=-32

And逻辑与例:(63and32)=32>>111111and100000=100000(32)

Or逻辑或例:(63or32)=63>>111111or100000=111111(63)

Xor逻辑异或例:(63xor32)=31>>111111xor100000=11111(31)

下列是由固有数学函数派生的非固有数学函数:

Secant(正割)Sec(X)=1/Cos(X)

Cosecant(余割)Cosec(X)=1/Sin(X)

Cotangent(余切)Cotan(X)=1/Tan(X)

InverseSine(反正弦)Arcsin(X)=Atn(X/Sqr(-X*X+1))

InverseCosine(反余弦)Arccos(X)=Atn(-X/Sqr(-X*X+1))+2*Atn(1)

InverseSecant(反正割)Arcsec(X)=Atn(X/Sqr(X*X-1))+Sgn((X)-1)*(2*Atn(1))

InverseCosecant(反余割)Arccosec(X)=Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*(2*Atn(1))

InverseCotangent(反余切)Arccotan(X)=Atn(X)+2*Atn(1)

HyperbolicSine(双曲正弦)HSin(X)=(Exp(X)-Exp(-X))/2

HyperbolicCosine(双曲余弦)HCos(X)=(Exp(X)+Exp(-X))/2

HyperbolicTangent(双曲正切)HTan(X)=(Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))

HyperbolicSecant(双曲正割)HSec(X)=2/(Exp(X)+Exp(-X))

HyperbolicCosecant(双曲余割)HCosec(X)=2/(Exp(X)-Exp(-X))

HyperbolicCotangent(双曲余切)HCotan(X)=(Exp(X)+Exp(-X))/(Exp(X)-Exp(-X))

InverseHyperbolicSine(反双曲正弦)HArcsin(X)=Log(X+Sqr(X*X+1))

InverseHyperbolicCosine(反双曲余弦)HArccos(X)=Log(X+Sqr(X*X-1))

InverseHyperbolicTangent(反双曲正切)HArctan(X)=Log((1+X)/(1-X))/2

InverseHyperbolicSecant(反双曲正割)HArcsec(X)=Log((Sqr(-X*X+1)+1)/X)

InverseHyperbolicCosecant(反双曲余割)HArccosec(X)=Log((Sgn(X)*Sqr(X*X+1)+1)/X)

InverseHyperbolicCotangent(反双曲余切)HArccotan(X)=Log((X+1)/(X-1))/2

以N为底的对数LogN(X)=Log(X)/Log(N)

3.正则表达式相关:

操作符:

\转义符

(),(?:),(?=),[]圆括号和方括号

*,+,?,{n},{n,},{n,m}限定符

^,$,\anymetacharacter位置和顺序

“或”操作

元字符:

\^$*+?{n}{n,}{n,m}?.(pattern)(?:pattern)(?=pattern)(?!pattern)x

y[xyz][^xyz][a-z][^a-z]\b\B\cx\d\D\f\n\r\s\S\t\v\w\W\xn\num\n\nm\nml\un

注:关于正则表达式的更多资料请自行查阅相关书籍,恕不赘述!

4.常用技巧:

0.[编辑][工具]中的功能大多要选中将操作的文字对象,不选中默认对全文操作。

1.如何让几段文字整体右移?先选中要整体右移的文字段按[Ctrl+J]或右键菜单中选[自定义替换],在对话框中输入[\par,\par\tab\tab],不包括左右[]括号(工具栏中有此功能)

2.如何查看文字的颜色、字体、ASC码?选中文本,在状态栏中查看

3.计算正弦余弦是如何使用度为单位?默认几何计算时使用国际单位弧度,所以计算是要转换一下,如:要计算sin(30°)则应输入sin(30*3.1415926/180)

4.双击工具栏可自定义按钮项目

本文链接:https://bk.89qw.com/a-1419920

最近发表
网站分类