2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  單 位 **** 分院(系)</p><p>  專 業(yè) **** </p><p>  學(xué) 號(hào) **** </p><p>  學(xué)生姓名 ***** </p><p>  指導(dǎo)教師 *** </p><p

2、>  完成日期 ** 年 * 月* 日</p><p><b>  摘 要</b></p><p>  自今年開學(xué)以來,我一直在學(xué)校學(xué)習(xí)vb程序設(shè)計(jì),在為期半年的學(xué)習(xí)時(shí)間中,經(jīng)歷了一些軟件設(shè)計(jì)開發(fā)的實(shí)踐,在這些設(shè)計(jì)中學(xué)到許多書本上不能體會(huì)到的知識(shí),下面將要介紹的一個(gè)設(shè)計(jì),就是我在上課程設(shè)計(jì)時(shí)學(xué)到的,從老師的課程要求從而確定設(shè)計(jì)要求、項(xiàng)目的具體設(shè)計(jì)到項(xiàng)目的具體代

3、碼實(shí)施,在這個(gè)項(xiàng)目設(shè)計(jì)階段,主要由我和我所在組的成員完成,他們對(duì)vb有著不少的經(jīng)驗(yàn),另外老師在這次項(xiàng)目開發(fā)中對(duì)我們起到了指導(dǎo)性的作用,使得我欽佩不已,下面就詳細(xì)的說一下我們開發(fā)的這個(gè)項(xiàng)目。 一.設(shè)計(jì)目的</p><p>  自從接到我們要上課程設(shè)計(jì)課開始,我們知道word的文本編輯器,當(dāng)然眾所周知word是當(dāng)今最流行最常用的文本編輯器,用來日常對(duì)工作生活中的文本進(jìn)行編輯,它的功能強(qiáng)大,也在軟

4、件設(shè)計(jì)業(yè)成為了一種流行的標(biāo)準(zhǔn)。我們這次設(shè)計(jì)的就是以word的一些基本功能為基礎(chǔ),由于我們的能力有限我們把一些特殊功能刪除了,只留下了一些簡(jiǎn)單的功能例如:剪切、新建、復(fù)制、粘貼、查找等。此次設(shè)計(jì)課主要是鍛煉我們的vb設(shè)計(jì)能力和思維考慮能力使我們的vb 學(xué)習(xí)真正的用到實(shí)處,無論在將來工作還是學(xué)習(xí)有著重要作用 </p><p>  二設(shè)計(jì)要求、 本系統(tǒng)由兩個(gè)菜單組成:文件、編

5、輯,界面如圖:</p><p> ?。?)文件菜單包括:新建、打開、保存、退出。</p><p> ?。?)編輯菜單包括:復(fù)制、剪貼、粘貼、字體設(shè)置。</p><p><b>  要求:</b></p><p><b>  1.1人完成</b></p><p>  2. 利用

6、菜單、工具欄實(shí)現(xiàn)上述功能。 應(yīng)用控件名稱:RichTextBox CommonDialog 6.0</p><p><b>  目錄</b></p><p>  1.選題的意義 --------------------------------5 </p><p>  

7、2.系統(tǒng)的功能能分 ---------------------------------------7</p><p>  2.1 系統(tǒng)概述 ----------------------------------------------------------------7 </p><p&g

8、t;  2.2 系統(tǒng)的構(gòu)成 -------------------------------------------------------------8 </p><p>  2.3系統(tǒng)的運(yùn)行環(huán)境 ---------------------------------------------------------9

9、 </p><p>  2.4設(shè)計(jì)思路-------------------------------------------------------------------9 </p><p>  3.主要控件功能介紹

10、------------------------------------17</p><p>  3.1 控件功能 ----------------------------------------------------------------17</p><p>  3.2設(shè)計(jì)的代碼 ---------------------------------------------------

11、-----------21</p><p>  4.總結(jié)--------------------------------------------------26</p><p>  4.1總結(jié)-------------------------------------------------------------------------26</p><p>  4.

12、2 存在的主要問題----------------------------------------------------------26</p><p>  參考文獻(xiàn)-------------------------------------------------26</p><p><b>  第一章 選題的意義</b></p><p> 

13、 VB6.0全稱為VisualBasic 6.0,是微軟公司推出的可視化編程工具M(jìn)SDN之一,是目前世界上使用最廣泛的程序開發(fā)工具。如果你是一個(gè)對(duì)編程一無所知,而又迫切希望掌握一種快捷實(shí)用的編程語言的初學(xué)者,那選擇VB 6.0沒錯(cuò)的。即使考慮到VB程序本身編譯和運(yùn)行效率較低的不足(嘻嘻速度現(xiàn)在不是問題吧),單是它的快捷的開發(fā)速度,簡(jiǎn)單易學(xué)的語法,體貼便利的開發(fā)環(huán)境,它仍不失一款優(yōu)秀的編程工具,是學(xué)習(xí)VB初學(xué)者的首選。也許你會(huì)問,我以前沒

14、學(xué)過任何一種語言,我能快速上手嗎?別擔(dān)心,沒問題VB的語法的和QBASIB語言是基本相同的,也就是說它的語法是最容易被初學(xué)者所接受的。另外VB提供的是可視化的開發(fā)環(huán)境,我們可以象搭積木一樣構(gòu)建出程序的界面,而且VB提供了豐富的控件組,省去了我們自己寫代碼實(shí)現(xiàn)這些效果的麻煩,這樣我們就能把更多的精力放在程序功能的實(shí)現(xiàn)上,所以VB學(xué)起來簡(jiǎn)單,用起來方便。接著看看VB語言的前景,在目前各種編程語言共存的時(shí)代,VB會(huì)不會(huì)落伍呢?當(dāng)然不會(huì)了,在我

15、寫這篇文章的同時(shí),微軟已經(jīng)透露了VB7.0將完全面向?qū)ο蟮南?,可以肯定下一代VB的功能一定會(huì)強(qiáng)大很多,我們這些所謂的 V</p><p>  第二章系統(tǒng)功能需求分析</p><p><b>  2.1 系統(tǒng)概述</b></p><p><b>  簡(jiǎn)介</b></p><p>  文本編輯器(或稱

16、文字編輯器)是用作編寫普通文字的應(yīng)用軟件,它與文檔編輯器(或稱文字處理器)不同之處在于它并非用作桌面排版(例如文檔格式處理)。它常用來編寫程序的源代碼。 </p><p>  常見的有Linux下的vi、emacs、gedit、DOS下的edit、Windows下的記事本、寫字板等等。 </p><p>  如何使用文本編輯器:開始/運(yùn)行輸入edit命令進(jìn)入文本編輯器進(jìn)行編輯文本;也可以在

17、cmd下輸入edit進(jìn)入文本編輯器。文本編輯器類似c語言界面。是一種很實(shí)用的文本編輯軟件。 </p><p><b>  典型功能</b></p><p><b>  查找和替換</b></p><p>  在一個(gè)文本文件中查找一個(gè)詞或者一個(gè)字符串,把一個(gè)字符串替換成另一個(gè)字符串??刹扇「鞣N方式進(jìn)行:全局查找替換、條件查找

18、替換、無條件查找替換。 </p><p><b>  剪切、復(fù)制、粘貼</b></p><p>  大多數(shù)文本編輯器都支持文件內(nèi)的或者文件間的復(fù)制或者移動(dòng)。 </p><p><b>  字體設(shè)置</b></p><p>  大多數(shù)文本編輯器都有字體設(shè)置這一個(gè)功能</p><p&

19、gt;<b>  打開、保存、新建、</b></p><p>  這也是文本編輯器的一個(gè)最簡(jiǎn)單的功能</p><p><b>  2.2系統(tǒng)構(gòu)成</b></p><p>  只由有一個(gè)界面組成簡(jiǎn)單見圖</p><p>  2.3系統(tǒng)的運(yùn)行環(huán)境</p><p>  在裝有vb程

20、序的計(jì)算機(jī)中運(yùn)行。</p><p><b>  2.4設(shè)計(jì)思路</b></p><p>  步驟一:繪制界面。 </p><p>  新建一個(gè)標(biāo)準(zhǔn)EXE工程,將其Caption屬性改為“超級(jí)記事本”,點(diǎn)擊Icon屬性給它找個(gè)合適的Icon圖標(biāo)。單擊菜單“工程”-“部件”,在彈出的“部件”對(duì)話框里找到Microsoft RichText Box

21、6.0和公共對(duì)話框Microsoft Common Dialog 6.0并選中它們,單擊“確定”按鈕。這時(shí)左邊的工具欄上出現(xiàn)了我們剛才新添的兩個(gè)控件了。在窗體上繪制RichText Box和Commn Dialog,其中RichText Box的大小和位置可不用理睬,我們將在代碼中處理它,當(dāng)然,有必要把它的ScrollBar屬性設(shè)為2-rtfVertical,這樣在打開和編輯文件時(shí)垂直滾動(dòng)條才可用。 </p><p&

22、gt;  步驟二:編輯菜單。 </p><p>  按Ctrl+E調(diào)出菜單編輯器,我們來做如下幾個(gè)菜單: </p><p><b>  一.文件菜單: </b></p><p>  文件(第一層) mnuFile </p><p>  新建(第二層) mnuNew </p><p>  打開(第二

23、層) mnuOpen </p><p>  保存(第二層) mnuSave </p><p>  - (第二層) mnuFileSep (分隔線) </p><p>  退出(第二層) mnuExit </p><p><b>  二.編輯菜單: </b></p><p>  編輯(第一層) mn

24、uEdit </p><p>  復(fù)制(第二層) mnuCopy </p><p>  剪切(第二層) mnuCut </p><p>  粘貼(第二層) mnuPaste </p><p>  - (第二層) mnuEditSep (分隔線) </p><p>  全選(第二層) mnuSelecAll </p

25、><p><b>  三.搜索菜單: </b></p><p>  搜索(第一層) mnuSearch </p><p>  查找(第二層) mnuFind </p><p>  查找下一個(gè)(第二層) mnuFindOn </p><p><b>  四.幫助菜單: </b>&l

26、t;/p><p>  幫助(第一層) mnuHelp </p><p>  使用說明(第二層) mnuUsage </p><p>  關(guān)于(第二層) mnuAbout </p><p>  (注:各菜單項(xiàng)的快捷鍵請(qǐng)自行設(shè)置) </p><p>  好了,其它的菜單項(xiàng)以后再根據(jù)需要添加?,F(xiàn)在進(jìn)入: </p>

27、<p>  步驟三:編寫代碼。 </p><p><b>  '聲明查找變量 </b></p><p>  Dim sFind As String </p><p><b>  '聲明文件類型 </b></p><p>  Dim FileType, FiType As S

28、tring </p><p><b>  '初始化程序 </b></p><p>  Private Sub Form_Load() </p><p>  '設(shè)置程序啟動(dòng)時(shí)的大小 </p><p>  Me.Height = 6000 </p><p>  Me.Width = 9

29、000 </p><p><b>  End Sub </b></p><p>  '設(shè)置編輯框的位置和大小 </p><p>  Private Sub Form_Resize() </p><p>  On Error Resume Next '出錯(cuò)處理 </p><p>  

30、RichTextBox1.Top=20 </p><p>  RichTextBox1.Left=20 </p><p>  RichTextBox1.Height = ScaleHeight-40 </p><p>  RichTextBox1.Width = ScaleWidth-40 </p><p><b>  End Su

31、b </b></p><p><b>  '新建文件 </b></p><p>  Private Sub mnuNew_Click() </p><p>  RichTextBox1.Text = "" '清空文本框 </p><p>  FileName = "

32、;未命名" </p><p>  Me.Caption = FileName </p><p><b>  End Sub </b></p><p><b>  '打開文件 </b></p><p>  Private Sub mnuOpen_Click() </p>

33、<p>  CommonDialog1.Filter = "文本文檔(*.txt)|*.txt|RTF文檔(*.rtf)|*.rtf|所有文件(*.*)|*.*" </p><p>  CommonDialog1.ShowOpen </p><p>  RichTextBox1.Text = "" '清空文本框 </p>

34、;<p>  FileName = CommonDialog1.FileName </p><p>  RichTextBox1.LoadFile FileName </p><p>  Me.Caption = "超級(jí)記事本:" & FileName </p><p><b>  End Sub </b&g

35、t;</p><p><b>  '保存文件 </b></p><p>  Private Sub mnuSave_Click() </p><p>  CommonDialog1.Filter = "文本文檔(*.txt)|*.txt|RTF文檔(*.rtf)|*.rtf|所有文件(*.*)|*.*" </p

36、><p>  CommonDialog1.ShowSave </p><p>  FileType = CommonDialog1.FileTitle </p><p>  FiType = LCase(Right(FileType, 3)) </p><p>  FileName = CommonDialog1.FileName </p&

37、gt;<p>  Select Case FiType </p><p>  Case "txt" </p><p>  RichTextBox1.SaveFile FileName, rtfText </p><p>  Case "rtf" </p><p>  RichTextBox

38、1.SaveFile FileName, rtfRTF </p><p>  Case "*.*" </p><p>  RichTextBox1.SaveFile FileName </p><p>  End Select </p><p>  Me.Caption = "超級(jí)記事本:" &

39、 FileName </p><p><b>  End Sub </b></p><p><b>  '退出 </b></p><p>  Private Sub mnuExit_Click() </p><p><b>  End </b></p>&

40、lt;p><b>  End Sub </b></p><p><b>  '復(fù)制 </b></p><p>  Private Sub mnuCopy_Click() </p><p>  Clipboard.Clear </p><p>  Clipboard.SetText Ri

41、chTextBox1.SelText </p><p><b>  End Sub </b></p><p><b>  '剪切 </b></p><p>  Private Sub mnuCut_Click() </p><p>  Clipboard.Clear </p>

42、<p>  Clipboard.SetText RichTextBox1.SelText </p><p>  RichTextBox1.SelText = "" </p><p><b>  End Sub </b></p><p>  '全選RichTextBox1.SelStart = 0 </

43、p><p>  RichTextBox1.SelLength = Len(RichTextBox1.Text) </p><p>  Private Sub mnuSelectAll_Click() </p><p>  RichTextBox1.SelStart = 0 </p><p>  RichTextBox1.SelLength = L

44、en(RichTextBox1.Text) </p><p><b>  End Sub </b></p><p><b>  '粘貼 </b></p><p>  Private Sub mnuPaste_Click() </p><p>  RichTextBox1.SelText =

45、Clipboard.GetText </p><p><b>  End Sub </b></p><p><b>  '查找 </b></p><p>  Private Sub mnuFind_Click() </p><p>  sFind = InputBox("請(qǐng)輸入要查

46、找的字、詞:", "查找內(nèi)容", sFind) </p><p>  RichTextBox1.Find sFind </p><p><b>  End Sub </b></p><p><b>  '繼續(xù)查找 </b></p><p>  Private S

47、ub mnuFindOn_Click() </p><p>  RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1 </p><p>  RichTextBox1.Find sFind, , Len(RichTextBox1) </p><p><b>  E

48、nd Sub </b></p><p><b>  '使用說明 </b></p><p>  Private Sub mnuReadme_Click() </p><p>  On Error GoTo handler </p><p>  RichTextBox1.LoadFile "Re

49、adme.txt", rtfText '請(qǐng)寫好Readme.txt文件并存入程序所在文件夾中 </p><p>  Me.Caption = "超級(jí)記事本:" & "使用說明" </p><p><b>  Exit Sub </b></p><p><b>  han

50、dler: </b></p><p>  MsgBox "使用說明文檔可能已經(jīng)被移除,請(qǐng)與作者聯(lián)系。", vbOKOnly, " 錯(cuò)誤信息" </p><p><b>  End Sub </b></p><p><b>  '關(guān)于 </b></p>

51、<p>  Private Sub mnuAbout_Click() </p><p>  MsgBox "超級(jí)記事本 Ver1.0 版權(quán)所有(C) 2001 土人",vbOKOnly,"關(guān)于" </p><p><b>  End Sub </b></p><p>  '設(shè)置彈出式菜

52、單(即在編輯框中單擊鼠標(biāo)右鍵時(shí)彈出的動(dòng)態(tài)菜單) </p><p>  Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) </p><p>  If Button = 2 Then </p><p>  PopupMenu

53、mnuEdit, vbPopupMenuLeftAlign </p><p><b>  Else </b></p><p><b>  Exit Sub </b></p><p><b>  End If </b></p><p><b>  End Sub <

54、;/b></p><p>  '防止在切換輸入法時(shí)字體自變(感謝王必成先生提供此方案) </p><p>  Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer) </p><p>  If KeyCode = vbKeySpace Then </p>&

55、lt;p>  RichTextBox1.SelFontName = CommonDialog1.FontName </p><p><b>  End If </b></p><p><b>  End Sub </b></p><p>  至此,我們的記事本可以編譯使用了。點(diǎn)擊菜單“文件”-“生成XXX.EXE”,

56、回到桌面運(yùn)行我們的記事本看看,是不是頗有成就感? </p><p>  當(dāng)然,這樣的記事本還比較粗糙,我們還需要做些工作,請(qǐng)看下一章。 </p><p>  第二章 美化程序界面 </p><p>  多數(shù)字處理軟件都有工具欄和狀態(tài)欄。工具欄和狀態(tài)欄除了能美化我們的程序使其更具有專業(yè)性質(zhì)外,還給用戶帶來操作上的便利?,F(xiàn)在我們就來做一做這兩樣?xùn)|西。 </p>

57、;<p><b>  一.工具欄 </b></p><p><b>  (一)制作工具欄 </b></p><p>  單擊“工程”-“部件”,選中Microsoft Windows Common Control 6.0并確定。這時(shí),我們要用到的控件就出現(xiàn)在左邊的工具欄上了。 </p><p>  要做工具欄

58、,首先需要一個(gè)叫ImageList的控件來裝載圖像。在程序界面上添加它,然后右鍵單擊此控件,左鍵單擊“屬性”,彈出“屬性頁”對(duì)話框的“圖像”,再單擊“插入圖片”就可以一次性裝載圖片了(如不滿意,以后還可以添加)。圖片可在C:\Microsoft Visual Studio\Common\Graphics\Bitmaps\TlBr_W95下選擇(這里假設(shè)你的VB安裝在C盤下)。注意了:在插入圖片時(shí)給每一張圖片注明關(guān)鍵字,以便在引用圖片時(shí)不

59、至于混亂。如插入“新建”的圖片,我們?cè)凇瓣P(guān)鍵字”欄注明“New”。 </p><p>  圖片有了,接下來在程序界面添加工具欄(ToolBar)。添加后工具欄就出現(xiàn)在菜單下面,右鍵單擊它,選擇“屬性”,在彈出的“屬性頁”對(duì)話框中的“通用”項(xiàng)作些設(shè)置,主要如下兩項(xiàng): </p><p>  1.“圖像列表”:選擇ImageList1 </p><p>  2.“樣式”:

60、根據(jù)喜愛選擇1-trbStandard或者2-trbFlat </p><p>  繼續(xù)點(diǎn)擊“屬性頁”的“按鈕”選項(xiàng),插入若干按鈕。按鈕有多種樣式,請(qǐng)根據(jù)需要設(shè)置。這里請(qǐng)一定注意:每一個(gè)與用戶操作有關(guān)的按鈕都必須注明關(guān)鍵字、裝載圖片,如“新建”按鈕,在“關(guān)鍵字”項(xiàng)注明“新建”,在“圖像”項(xiàng)鍵入“New”(即ImageList1中的圖片關(guān)鍵字),需要的話還可以在“工具提示文本”項(xiàng)填入適當(dāng)?shù)奶崾菊Z。 </p&g

61、t;<p>  (二)編寫工具欄的按鈕代碼 </p><p>  工具欄按鈕的代碼編輯很簡(jiǎn)單,可以按照下面的格式去編寫: </p><p>  Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button) </p><p>  On Error Resume Next '

62、;出錯(cuò)處理 </p><p>  Select Case Button.Key '按關(guān)鍵字選擇 </p><p>  Case "新建" </p><p>  mnuNew_Click '等于菜單項(xiàng)“新建”被單擊 </p><p>  Case "打開" '等于菜單項(xiàng)“打開”被單

63、擊 </p><p>  mnuOpen_Click </p><p>  '......(繼續(xù)編寫其它按鈕的代碼) </p><p>  End Select </p><p><b>  End Sub </b></p><p>  完成后試運(yùn)行一下我們的程序,我們發(fā)現(xiàn),有了工具欄之后

64、,程序變得漂亮多了,只是有一個(gè)問題:打開一個(gè)較長(zhǎng)的文檔后,編輯框的下拉滾動(dòng)條向上的箭頭不見了。原因是:工具條占用一定的空間。解決方法:將“設(shè)置編輯框的位置和大小”中的RichTextBox1.Top = 20 和 RichTextBox1.Height = Me.ScaleHeight - 40分別改為RichTextBox1.Top = 380,RichTextBox1.Height = Me.ScaleHeight - 400即可。

65、 </p><p><b>  二.狀態(tài)欄 </b></p><p><b>  (一)制作狀態(tài)欄 </b></p><p>  狀態(tài)欄的英文名字叫StatusBar,在窗體上添加它后會(huì)默認(rèn)出現(xiàn)在窗體的最下方。用鼠標(biāo)右鍵點(diǎn)擊它,調(diào)出“屬性頁”對(duì)話框,單擊“窗格”項(xiàng),插入一些窗格,可以將各個(gè)窗格的“樣式”設(shè)置為: </

66、p><p>  0-sbrText 顯示文本,需編寫代碼 </p><p>  1-sbrCaps 顯示大小寫狀態(tài),無需編程 </p><p>  2-sbrNum 顯示NumLock鍵開關(guān)狀態(tài),無需編程 </p><p>  3-sbrIns 顯示Insert鍵狀態(tài),無需編程 </p><p>  4-sbrScr1 &

67、lt;/p><p>  5-sbrTime 顯示時(shí)間,不編程時(shí)時(shí)間不會(huì)隨系統(tǒng)時(shí)鐘變化 </p><p>  6-sbrDate 顯示日期,無需編程 </p><p>  注意:加進(jìn)狀態(tài)欄后需將Form_Resze中的RichTextBox1.Height = Me.ScaleHeight - 400改為RichTextBox1.Height = Me.ScaleHeig

68、ht - 600。 </p><p>  (二)狀態(tài)欄根據(jù)其“樣式”屬性決定用不用編寫代碼(如上文所述)。下面舉些例子,讀者可以認(rèn)真揣摩,從而達(dá)到舉一反三的效果。 </p><p>  例一:用戶選取了“新建”后,讓第一個(gè)窗格顯示:“目前狀態(tài):正在打開文件《……》”。請(qǐng)將下面代碼寫進(jìn)“打開”菜單里面: </p><p>  StatusBar1.Panels(1).

69、Text = "目前狀態(tài):正在打開文件" & "《" &CommonDialog1.FileTitle & "》" </p><p>  例二:讓第三個(gè)窗格顯示時(shí)間并讓時(shí)間跟隨系統(tǒng)時(shí)鐘變化。 </p><p>  首先,給程序加一個(gè)Timer控件,將其Interval屬性設(shè)為1000。然后: </p&

70、gt;<p>  在Form_Load過程加入:StatusBar1.Panels(1).Text = Time;然后給Timer控件編寫代碼: </p><p>  Private Sub Timer1_Timer() </p><p>  If StatusBar1.Panels(3).Text <> CStr(Time) Then </p>&

71、lt;p>  StatusBar1.Panels(3).Text = Time </p><p><b>  End If </b></p><p><b>  End Sub </b></p><p>  例三:當(dāng)編輯框的文本發(fā)生變化時(shí)讓第一個(gè)窗格顯示:“正在編輯文檔:文件名”。 </p><p

72、>  Private Sub RichTextBox1_Chang() </p><p>  StatusBar1.Panels(1).Text = "正在編輯文檔:" & CommonDialog1.FileName </p><p><b>  End Sub </b></p><p>  第三章 主要控件

73、功能介紹</p><p><b>  3.1 控件功能</b></p><p>  今天我們一起用RichTextBox控件來做一個(gè)文本編輯器,這個(gè)文本編輯器具有比較完備的功能,例如:查找字串、設(shè)置字體等。通過這個(gè)程序,我們可以看到RichTextBox控件豐富的使用方法。 </p><p><b>  圖</b><

74、;/p><p>  程序中使用的RichTextBox控件在默認(rèn)狀態(tài)下不在控件面板中,我們可以在控件面板上點(diǎn)鼠標(biāo)右鍵“添加”,在“添加選擇對(duì)話框”中找到這個(gè)控件并添加。這時(shí)控件面板上會(huì)出現(xiàn)圖標(biāo),這就是這個(gè)小程序的主打控件RichTextBox。</p><p>  為了學(xué)習(xí)的方便,提供的源代碼都提供了詳細(xì)的中文注釋,如下所示:</p><p>  一個(gè)由RichText

75、Box實(shí)現(xiàn)的文本編輯器 '名稱作用Form1 主窗體 ' CmdOpen 通用對(duì)話框 ' RichTextBox1 RichTextBox ' mnuNew “新建”菜單項(xiàng) ' mnuOpen “打開”菜單項(xiàng) ' mnuSave “保存”菜單項(xiàng) ' mnuExit “退出”菜單項(xiàng) ' mnuFont “字體”菜單項(xiàng) ' mnuPrint “打印”菜單項(xiàng) '

76、mnuFind “查找”菜單項(xiàng) ' mnuNext “查找下一個(gè)”菜單項(xiàng) 變量作' sFind 待查找的字符串 ' Option Explicit Public sFind As String Private Sub Form_Resize() '如果窗體不處于最小化RichTextBox1狀態(tài),改變RichTextBox1大小以適應(yīng)窗體大小變化 If Form1.WindowState <>

77、 1 Then RichTextBox1.Width = Form1.Width - 135 If Form1.Height < 1200 Then Form1.Height = 1200 End If RichTextB</p><p>  下面我們來看看RichTextBox控件的常用的屬性、事件和方法。</p><p>  RichTextBox 控件可用于輸入和編輯文本,它同

78、時(shí)提供了比常規(guī)的TextBox控件更高級(jí)的格式特性。 通過這些屬性,可對(duì)該控件中任何部分的文本使用不同的格式,可以將文本變?yōu)榇煮w或斜體,改變文本的顏色,創(chuàng)建上標(biāo)或下標(biāo),可以調(diào)整段落的左右縮進(jìn)值,還可以使用懸掛式縮進(jìn)等。而且RichTextBox控件支持大于64K的文本,這些都是TextBox控件所不可比擬的。</p><p>  RichTextBox 控件的主要屬性有:SelFontName、SelFontS

79、ize 和 SelFontColor,它們用來設(shè)置文字的字體、大小和顏色。使用的語法是:object.SelColor [= color] 需要注意的是,這個(gè)屬性改變的是選中文字的屬性,而不是所有的文字,這樣我們可以在編輯框內(nèi)出現(xiàn)不同的字體、顏色等。</p><p>  ●另外程序中還用到了SelLength屬性-返回或設(shè)置所選擇的字符數(shù)。SelStart屬性-返回或設(shè)置所選擇的文本的起始點(diǎn);如果沒有文本被選中

80、,則指出插入點(diǎn)的位置。 RichTextBox控件的主要方法有:  ●LoadFile方法和SaveFile方法:它們的作用分別是從文件中導(dǎo)入文本和保存文本到指定的文件,這兩個(gè)方法支持txt和rtf格式的文本文件,使用的語法是:  object.SaveFile(pathname, filetype)  其中pathname是要打開或保存的文件路徑,filetype是要打開或保存的文件類型(0表示txt文件;1表示rtf格式的文件)

81、?!  馞ind方法:其語法是:object.Find(string, start, end, options)   其中string是要查找的字符串;start, end是查找開始和結(jié)束的位置,如果不指定的話默認(rèn)是在全部文本中查找;options是查找時(shí)匹配的模式,有三種選擇,rtfWholeWord為整個(gè)單詞匹配而不是單詞片段,rtfMatchCase為是否忽略字體的差別,rtfNoHighlight為找到</p>

82、<p>  以上的方法和屬性只是RichTextBox控件豐富用法的</p><p>  3.2 設(shè)計(jì)的代碼</p><p>  Dim sfind As String</p><p>  Dim fileType, fitype As String</p><p>  Private Sub Form_Load()</p

83、><p>  Me.Height = 6000</p><p>  Me.Width = 9000</p><p><b>  End Sub</b></p><p>  Private Sub Form_Resize()</p><p>  On Error Resume Next '出錯(cuò)處

84、理</p><p>  RichTextBox1.Top = 600</p><p>  RichTextBox1.Left = 20</p><p>  RichTextBox1.Height = ScaleHeight - 300</p><p>  RichTextBox1.Width = ScaleWidth - 40</p&g

85、t;<p><b>  End Sub</b></p><p>  Private Sub mnuFont_Click()</p><p>  '當(dāng)“字體”菜單項(xiàng)被點(diǎn)擊時(shí)</p><p>  '顯示“字體”對(duì)話框</p><p>  '使用指定的方法,CommonDialog 控件能

86、夠顯示下列對(duì)話。</p><p>  '----------------------------------------</p><p>  '方法 所顯示的對(duì)話框</p><p>  '----------------------------------------</p><p>  'Sh

87、owOpen 顯示“打開”對(duì)話框</p><p>  'ShowSave 顯示“另存為”對(duì)話框</p><p>  'ShowColor 顯示“顏色”對(duì)話框</p><p>  'ShowFont 顯示“字體”對(duì)話框</p><p>  'ShowPrinter 顯示“打印”或“打印選項(xiàng)”

88、對(duì)話框</p><p>  'ShowHelp 調(diào)用 Windows 幫助引擎</p><p>  '----------------------------------------</p><p>  CommonDialog1.Flags = cdlCFBoth + cdlCFEffects</p><p>  Co

89、mmonDialog1.ShowFont</p><p>  '將RichTextBox1的屬性根據(jù)“字體”對(duì)話框的變化作相應(yīng)設(shè)置</p><p>  '----------------------------------------</p><p>  '要改變 RichTextBox 控件中的字體特性,可以使用</p>&l

90、t;p>  'SelFontName、SelFontSize 和 SelFontColor 屬性。</p><p>  '----------------------------------------</p><p>  With RichTextBox1</p><p>  .SelFontName = CommonDialog1.Font

91、Name</p><p>  .SelFontSize = CommonDialog1.FontSize</p><p>  .SelBold = CommonDialog1.FontBold</p><p>  .SelItalic = CommonDialog1.FontItalic</p><p>  .SelStrikeThru =

92、CommonDialog1.FontStrikethru</p><p>  .SelUnderline = CommonDialog1.FontUnderline</p><p><b>  End With</b></p><p><b>  End Sub</b></p><p>  Priv

93、ate Sub mnuNew_Click()</p><p>  RichTextBox1.Text = "" '清空文本框</p><p>  FileName = "未命名"</p><p>  Me.Caption = FileName</p><p><b>  End Sub

94、</b></p><p><b>  '打開文件</b></p><p>  Private Sub mnuOpen_Click()</p><p>  CommonDialog1.Filter = "文本文檔(*.txt)│*.txt│RTF文檔(*.rtf)│*.rtf│所有文件(*.*)│*.*"&

95、lt;/p><p>  CommonDialog1.ShowOpen</p><p>  RichTextBox1.Text = "" '清空文本框</p><p>  FileName = CommonDialog1.FileName</p><p>  RichTextBox1.LoadFile FileName&

96、lt;/p><p>  Me.Caption = "超級(jí)記事本:" & FileName</p><p><b>  End Sub</b></p><p><b>  '保存文件</b></p><p>  Private Sub mnuSave_Click()&l

97、t;/p><p>  CommonDialog1.Filter = "文本文檔(*.txt)│*.txt│RTF文檔(*.rtf)│*.rtf│所有文件(*.*)│*.*"</p><p>  CommonDialog1.ShowSave</p><p>  fileType = CommonDialog1.FileTitle</p>

98、<p>  fitype = LCase(Right(fileType, 3))</p><p>  FileName = CommonDialog1.FileName</p><p>  Select Case fitype</p><p>  Case "txt"</p><p>  RichTextBox1

99、.SaveFile FileName, rtfText</p><p>  Case "rtf"</p><p>  RichTextBox1.SaveFile FileName, rtfRTF</p><p>  Case "*.*"</p><p>  RichTextBox1.SaveFile F

100、ileName</p><p>  End Select</p><p>  Me.Caption = "超級(jí)記事本:" & FileName</p><p><b>  End Sub</b></p><p><b>  '退出</b></p>&

101、lt;p>  Private Sub mnuExit_Click()</p><p><b>  End</b></p><p><b>  End Sub</b></p><p><b>  '復(fù)制</b></p><p>  Private Sub mnuCo

102、py_Click()</p><p>  Clipboard.Clear</p><p>  Clipboard.SetText RichTextBox1.SelText</p><p><b>  End Sub</b></p><p><b>  '剪切</b></p>&

103、lt;p>  Private Sub mnuCut_Click()</p><p>  Clipboard.Clear</p><p>  Clipboard.SetText RichTextBox1.SelText</p><p>  RichTextBox1.SelText = ""</p><p><b&

104、gt;  End Sub</b></p><p><b>  '全選</b></p><p>  Private Sub mnuSelectAll_Click()</p><p>  RichTextBox1.SelStart = 0</p><p>  RichTextBox1.SelLength

105、= Len(RichTextBox1.Text)</p><p><b>  End Sub</b></p><p><b>  '粘貼</b></p><p>  Private Sub mnuPaste_Click()</p><p>  RichTextBox1.SelText = C

106、lipboard.GetText</p><p><b>  End Sub</b></p><p><b>  '查找</b></p><p>  Private Sub mnuFind_Click()</p><p>  sfind = InputBox("請(qǐng)輸入要查找的字、詞

107、:", "查找內(nèi)容", sfind)</p><p>  RichTextBox1.Find sfind</p><p><b>  End Sub</b></p><p><b>  '繼續(xù)查找</b></p><p>  Private Sub mnuFin

108、dOn_Click()</p><p>  RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1</p><p>  RichTextBox1.Find sfind, , Len(RichTextBox1)</p><p><b>  End Sub</b

109、></p><p>  '設(shè)置彈出式菜單(即在編輯框中單擊鼠標(biāo)右鍵時(shí)彈出的動(dòng)態(tài)菜單)</p><p>  Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)</p><p>  If Button = 2 Th

110、en</p><p>  PopupMenu mnuedit, vbPopupMenuLeftAlign</p><p><b>  Else</b></p><p><b>  Exit Sub</b></p><p><b>  End If</b></p>

111、<p><b>  End Sub</b></p><p>  '防止在切換輸入法時(shí)字體自變</p><p>  Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer)</p><p>  If KeyCode = vbKeySpace Then

112、</p><p>  RichTextBox1.SelFontName = CommonDialog1.FontName</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub ToolBar1_ButtonC

113、lick(ByVal Button As MSComctlLib.Button)</p><p>  On Error Resume Next '出錯(cuò)處理</p><p>  Select Case Button.Key '按關(guān)鍵字選擇</p><p><b>  Case "新建"</b></p>

114、;<p>  mnuNew_Click '等于菜單項(xiàng)“新建”被單擊</p><p>  Case "打開" '等于菜單項(xiàng)“打開”被單擊</p><p>  mnuOpen_Click</p><p>  Case "保存" '等于菜單項(xiàng)“打開”被單擊</p><p>

115、;  mnuSave_Click</p><p>  Case "復(fù)制" '等于菜單項(xiàng)“打開”被單擊</p><p>  mnuCopy_Click</p><p>  Case "剪切" '等于菜單項(xiàng)“打開”被單擊</p><p>  mnuCut_Click</p>&

116、lt;p>  Case "查找" '等于菜單項(xiàng)“打開”被單擊</p><p>  mnuFind_Click</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub RichTextBox1_Chang()

117、</p><p>  StatusBar1.Panels(1).Text = "正在編輯文檔:" & CommonDialog1.FileName</p><p><b>  End Sub</b></p><p><b>  第四章 總結(jié)</b></p><p>&

118、lt;b>  4.1總結(jié)</b></p><p>  通過這次作題我明白了許多 vb 的知識(shí)和運(yùn)用。</p><p>  4.2系統(tǒng)存在的問題</p><p>  主要存在的問題是查找的應(yīng)用和替換的應(yīng)用</p><p><b>  第五章 參考文獻(xiàn)</b></p><p>  V

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論