C++創(chuàng)建文本編輯器_第1頁
C++創(chuàng)建文本編輯器_第2頁
C++創(chuàng)建文本編輯器_第3頁
C++創(chuàng)建文本編輯器_第4頁
C++創(chuàng)建文本編輯器_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

用VisualC++創(chuàng)建文本編輯器嚴(yán)琪華內(nèi)容摘要:本文根據(jù)我們經(jīng)常使用的記事本程序,自己嘗試使這個程序的功能在原先的基礎(chǔ)上再得以擴(kuò)展,在這里完成了一個帶有多文檔功能的文本編輯器。它包含有菜單和工具欄——甚至還能處理打印和打印預(yù)覽。關(guān)鍵詞:單文檔界面、多文檔界面、對象的鏈接與嵌入、套接字想必大家都用過Windows的NotePad記事本程序,在這里我們利用VisualC++開發(fā)工具做一個真真正正的文本編輯器,它包含有菜單和工具欄甚至還能處理打印和打印預(yù)覽。為了使得人們不與Windows的NotePad程序相混淆,我們把這個程序取名叫NotePod。一、創(chuàng)建過程要在VisualC++中創(chuàng)建一個新的項目,可以從主菜單上選擇File|New菜單來完成。在接下來彈出的對話框中,選擇Projects選項卡,并且從列表框中選擇項目的類型。VisualC++提供了很多不同種類的項目類型可供選擇,如圖1所示,選擇“MFCAppWizard(exe)”,在ProjectName文本域處輸入項目的名字(NotePod)。輸入的名字會自動被添加到ProjectName文本域下面的Location文本域中。在缺省情況下,創(chuàng)建新項目的時候,VisualC++將創(chuàng)建一個新的工作區(qū)。完成時,單擊OK按鈕。下面的工作由VisualC++AppWizard來完成。

1、指定應(yīng)用程序風(fēng)格如圖2所示,AppWizard首先詢問要創(chuàng)建應(yīng)用程序的類型。有以下這些選項:SingleDocumentInterface(SDI,單文檔界面)這種類型的應(yīng)用程序一次只允許打開一個文檔。如Windows的NotePad程序是一個SDI應(yīng)用程序。MultipleDocumentInterface(MDI,多文檔界面)這種類型的應(yīng)用程序允許同時打開多個文檔。我們非常熟悉的MicrosoftOffice產(chǎn)品屬于MDI應(yīng)用程序。Dialogbased(基于對話框)這種類型的應(yīng)用程序使用一個對話框作為其主窗口?;趯υ捒虻膽?yīng)用程序常用于簡單的應(yīng)用程序中,比如Windows95中設(shè)置Date/TimePropertics(日期/時間屬性)的應(yīng)用程序。對于NotePod程序,我們選擇MDI應(yīng)用程序,將Document/View復(fù)選框保持為選中狀態(tài),并將資源DLL設(shè)置為英語。完成這些之后,單擊Next進(jìn)入第2步。2、數(shù)據(jù)庫支持NotePod應(yīng)用程序根本就不需要任何的數(shù)據(jù)庫支持,所以圖3所示中,我們選擇None并單擊Next繼續(xù)下一步。圖33、OLE支持在AppWizard的第三步,你可以選擇你所需要的"Compounddocumentsupport”(復(fù)合文檔支持)。在圖4所示的屏幕中,可以要求Appwizard添加對Microsoft構(gòu)件對象模型(COM)的支持。使用COM,其他的程序可以自動控制你的VisualC++程序,而你的程序就像一個構(gòu)件一樣。或許你已經(jīng)注意到,類似于MicrosoftWord的程序允許在文檔中嵌入一個由其他應(yīng)用程序創(chuàng)建的電子表格或一幅圖形:這就是COM作用的結(jié)果。我們在NotePod程序中不需要使用任何的復(fù)合文檔,所以應(yīng)該清除AppWizard第三步對話框底部的ActiveXControls復(fù)選框。然后,單擊Next以繼續(xù)。4、更進(jìn)一步的一些東西在第四步中,AppWizard使得可以更進(jìn)一步地定義一些不同的特征。這些選項的其中四個在缺省狀態(tài)下是選中的,如下:DockingToolbar告訴AppWizard在應(yīng)用程序菜單下創(chuàng)建一個標(biāo)準(zhǔn)的工具欄。InitialStatusBar在應(yīng)用程序窗口底部設(shè)置一個標(biāo)準(zhǔn)的Windows狀態(tài)欄。PrintingAndPrintPreview顯示標(biāo)準(zhǔn)的Windows打印預(yù)覽窗口,并在用戶選擇File|Print菜單項時顯示Printer對話框。3DControls——添加一些代碼,使得Windows的控件具有3D外觀,如復(fù)選框、文本域、單選按鈕等。該選項僅僅只對在對話框外使用的控件有效。除了以上四個已被選中的項目之外,AppWizard還允許添加上下文相關(guān)幫助、MAPI支持以及Windowssockes(套接字)支持。因為這些特征不太常用,所以缺省狀態(tài)下均為未選中狀態(tài)。VisualC++6的一個新特征就是允許你選擇InternetExplorer風(fēng)格的

ReBar工具欄來替代傳統(tǒng)的Windows工具欄。最后,選擇文件數(shù)目為16,如圖5所示。在圖5所示的對話框中,單擊Advanced后,將顯示一個對話框,在DocumentTemplateString選項卡中,通過在每個文本域中輸入適當(dāng)?shù)闹?,可以在Windows外殼程序中注冊自定義的文檔類型。在FileExtension文本域中輸入“pod”。NotePod文件將使用此文件擴(kuò)展名。Windows創(chuàng)建文檔類型名稱時,將使用一個6個字符以下的字符串。所以,文檔類型為“NotePo”,而非“NotePod”,并且不可改變。但是,可以改變其他的幾個文本域以顯示為“NotePod”,而不是“NotePo”。圖6中顯示的是完成以后的對話框。在填充每個文本域之后,單擊Close,并在第四步的對話框中單擊Next。Adv:=LTLCedOptioueDocumentTemplateStrings|WindowStyles|Non-localizedstringsFileextension:[podFiletype}D:|NotePod.DocumentLocalizedstringsLanguage:中文[中國Fileextension:[podLanguage:中文[中國]Doctypename:|NotePod圖6….5、最后的_些事情雨|NotePojtfr(*pod)對于NotePod項目嚅說,我們來創(chuàng)建一個標(biāo)準(zhǔn)的eMfc5、最后的_些事情雨|NotePojtfr(*pod)對于NotePod項目嚅說,我們來創(chuàng)建一個標(biāo)準(zhǔn)的eMfc項目,name]:name]:且具有AppWizard注釋,使用MC作為共享DLL。作完這些選擇后,可見圖7,單擊Next。Close6、具有視圖的應(yīng)用程序第六步的對話框(如圖8)列出了AppWizard將要生成的每個C++類。它也包括幾個文本域,用于改變AppWizard生成代碼的類型。當(dāng)在類名列表框上滾動的時候,每個文本域?qū)@示類名(可以改變),同時還顯示基類的名字以及存儲類頭文件及實現(xiàn)文件的文件名。Notepod是一個文本編輯器,所以應(yīng)該選擇一個支持該類功能的基類。MFC提供了CeditView類,選擇CeditView,單擊Finisho

好了,請看圖9,NewProjectInformation對話框僅僅只是在前面那些屏幕上所作選擇的一些摘要說明。仔細(xì)看看,直到滿意為止,然后選擇OK。到此為止,到此為止,二、運行NotePod項目1、創(chuàng)建可執(zhí)行程序要運行NotePod程序,首先必須要創(chuàng)建一個可執(zhí)行程序(源代碼不能執(zhí)行)。這個過程稱作創(chuàng)建應(yīng)用程序(Buildtheapplication)o創(chuàng)建這個應(yīng)用程序很簡單:從主菜單上選擇Build|BuildNotePod.exe;在Build工具欄上選擇Build圖標(biāo);按F7加速鍵。圖10

一旦開始了創(chuàng)建過程(如圖10),VisualC++就將始終在Output窗口中顯示有關(guān)進(jìn)展的信息,顯示在屏幕底部,VisualC++在編譯的時候如果碰到了錯誤,它將在Output窗口中顯示錯誤信息。如果在Output窗口中雙擊某個錯誤住處,VisualC++將會定位該錯誤的位置,以便進(jìn)行修改。2、運行NotePod要在isualC++中運行NotePod,只需要從土采單中簡uild|ExecuteNotePod.exe菜單項就可以了,也可以在Build工具欄上單擊Exexute圖標(biāo)(?。?,或者是按Ctrl+

溫馨提示

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

最新文檔

評論

0/150

提交評論