C++_Builder6.0簡易實例教程參考模板_第1頁
C++_Builder6.0簡易實例教程參考模板_第2頁
C++_Builder6.0簡易實例教程參考模板_第3頁
C++_Builder6.0簡易實例教程參考模板_第4頁
C++_Builder6.0簡易實例教程參考模板_第5頁
已閱讀5頁,還剩103頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Borland C+Builder 6.0教程Borland C+Bilder 6.0是Interprise(Borland)公司推出的基于C+ 語言的快速應用程序開發(fā)(Rapid Application Development,RAD)工具,它是最先進的開發(fā)應用程序的組件思想和面向?qū)ο蟮母咝дZ言C+融合的產(chǎn)物。C+Builder 充分利用了已經(jīng)發(fā)展成熟的Delphi 的可視化組件庫(Visual Component Library,VCL),吸收了Borland C+ 6.0 這個優(yōu)秀編譯器的諸多優(yōu)點。C+Builder 結(jié)合了先進的基于組件的程序設(shè)計技術(shù),成熟的可視化組件庫和優(yōu)秀編譯器,調(diào)

2、試器。發(fā)展到6.0版本,C+Builder 已經(jīng)成為一個非常成熟的可視化應用程序開發(fā)工具,功能強大而且效率高。C+Builder的特色:1C+Builder 是高性能的C+開發(fā)工具C+Builder是基于C+的,它具有高速的編譯,連接和執(zhí)行速度。同時,C+Builder具有雙編譯器引擎,不僅可以編譯C/C+程序,還能編譯Object Pascal語言程序。2C+Builder是優(yōu)秀的可視化應用程序開發(fā)工具C+Builder是一完善的可視化應用程序開發(fā)工具,使程序員從繁重的代碼編寫中解放出來,使他們能將注意力重點放在程序的設(shè)計上,而不是簡單的重復的勞動中。同時,它提供的完全可視的程序界面開發(fā)工具

3、,從而使程序員對開發(fā)工具的學習周期大大縮短。3C+Builder具有強大的數(shù)據(jù)庫應用程序開發(fā)功能C+Builder 提供了強大的數(shù)據(jù)庫處理功能,它使的程序員不用寫一行代碼就能開發(fā)出功能強大的數(shù)據(jù)庫應用程序,這些主要依賴于C+Builder眾多的數(shù)據(jù)庫感知控件和底層的BDE數(shù)據(jù)庫引擎。C+Builder除了支持MicroSoft的ADO(Active Data Object)數(shù)據(jù)庫連接技術(shù),還提供了一種自己開發(fā)的成熟的數(shù)據(jù)庫連接技術(shù)BDE(Borland Database Engine)數(shù)據(jù)庫引擎。4C+Builder具有強大的網(wǎng)絡(luò)編程能力C+Builder具有眾多的Internet應用程序開發(fā)

4、控件,如WebBroker,CppWebBroswer,WinSocks等,它們基本含蓋了Internet應用的全部功能,利用它們程序員可以方便地建立自己地Internet應用程序。一C+Builder6.0的集成開發(fā)環(huán)境(IDE,Integrated Development Environment)1 C+Builder 6.0的IDE主界面2 / 108(1)組件面板 標準組件選項卡上的組件是構(gòu)成Windows應用程序窗口最常用的標準元素,它們包括15種組件。主要有:主菜單(MainMenu),右鍵菜單(PopMenu),標簽(Label),備注(Memo),命令按鈕(Button),單選

5、按鈕(GroupBox),復選按鈕(CheckBox),列表框(ListBox),下拉式列表框(ComboBox),滾動條(ScrollBar),組框(GroupBox)和單項按鈕組框(RadioGroup)。 附加組件選項卡上的組件是Windows應用程序常用的專門控制元素,它包括14種組件。主要有:位圖按鈕(BitBtn),加速按鈕(SpeedButton),格式編輯框(MaskEdit),字符網(wǎng)格(StringGrid),數(shù)據(jù)網(wǎng)格(dataGrid),圖片框(Image),形狀(Shape),和控制欄(ControlBar)。 Win32組件選項卡上的組件是32位Windows應用程序的

6、常用元素,它們具有32位應用程序的新特征,Win32組件選項卡共包括18種組件。分頁面控制(PageControl),圖片列表(ImageList),多文本編輯器(RichEdit),列表視圖框(ListView),樹狀目錄視圖框(TreeView),工具欄(ToolBar)和狀態(tài)欄(StatusBar)。Data Access和Data Control組件選項卡上的組件是用來設(shè)計數(shù)據(jù)庫應用程序的。其中Data Access組件選項卡上的組件是數(shù)據(jù)庫應用程序用來與數(shù)據(jù)庫建立連接的,它們也稱為數(shù)據(jù)訪問組件。而Data Control 組件選項卡上的組件是用來與用戶交互的,它們也稱為數(shù)據(jù)感知組件。

7、主要是:表(Table),查詢(Query),數(shù)據(jù)源(DataSource),數(shù)據(jù)庫導航器(DBNavigator),數(shù)據(jù)表格(DBGrid),數(shù)據(jù)庫編輯框(DBEdit),數(shù)據(jù)庫靜態(tài)文本框(DBText),數(shù)據(jù)庫列表框(DBListBox),數(shù)據(jù)庫圖片(DBImage)。 Dialogs組件選項卡是由一些常用標準對話框組件組成的。主要完成打開文件,保存文件,查找,替換,打印,打印機設(shè)置等Windows標準的對話框功能。(2)對象查看器 對象名稱用于選擇和查看當前對象的名稱,屬性選項卡用于設(shè)置對象設(shè)計時的可見屬性,事件選項卡用來設(shè)置對象的事件句柄或者在代碼編輯器中定位對象事件句柄。二創(chuàng)建Win

8、dows程序 在主菜單中選擇【File】中的【New】,在New 對話框中選擇Application,按OK。三運行程序 在菜單中選擇【Run】中的【Run】,或者直接按快捷菜單上的運行按鈕,還有是按快捷鍵F9,就可以運行當前程序。四編譯程序 在菜單中選擇【Project】中的【build project1】就可以把程序編譯成為可以直接運行的.exe文件。 但是這樣編譯而來的執(zhí)行文件因為是動態(tài)連接到庫函數(shù),所以在沒有裝C+Builder的機上不能正常運行。要編譯成靜態(tài)連接庫,可以在所有機上運行的程序,只要這樣做:打開【project】的【Options】,把packages頁中的build w

9、ith runtime packages的勾去掉,linker頁中的use dynamic Rtl的勾去掉,再在compiler頁中按release鍵。 五保存程序 在主菜單中選擇【File】中的【Save Porject As】選項。再把所以文件(包括.cpp,.bak)都保存到一個目錄下面。加載C+Buidler 組件和引入 ActiveX控件一加載C+Builder組件 C+Builder中有很多組件,其中有一大部分組件不是很常用的,所以在C+Builder中默認只加載了一部分常用的組件,其他組件就要進行手工加載?;蛘邚膭e的地方(如在網(wǎng)上下載)得到一些其他的組件包(*.bpl),要把它加

10、載到C+Builder里面,就要用到加載組件。 在C+Builder中加載組件是很方便的,你可以在主菜單【Porject】中按【Options】,再選【packages】頁,又或者在【Component】中選【Install Packages】,得到packages 對話框(如下圖)。 如果你想要加載C+Builder中未加載的組件,只有在相應的組件包的前面打上勾來選定;如果你要加載其他組件包,按【Add】按鈕,再在【Add Design Package】對話框中選定其組件包(*.bpl)。之后按【OK】鍵,新加載的組件就會出現(xiàn)在組件面板上。二 引入ActiveX控件 眾所周知,ActiceX

11、控件因為其可以跨平臺的特性使得ActiveX在很多環(huán)境下被廣泛地使用。在C+Builder中引用ActiveX很簡單。具體操作是在主菜單【Component】中選【Import ActiveX Control】,彈出【Import ActiveX】的對話框,在對話框中選擇你要引用的ActiveX控件。1. 控件類明,可以包括多個,表示這個ActiveX控件包里面有多個ActiveX控件,如這里就包TSkinForm,TskinButton和TSkinPanel這三個控件。2. 組件在Component Palette(組件面板)的頁面。在本例中,我們把引入的ActiveX控件放在ActiveX

12、頁面中。3. 組件的源文件(.cpp)。4. 當前搜索路徑,一般不用修改。 按【Install】鍵,ActiveX控件已經(jīng)成功地引入到C+Builder中,反正組件面板的ActiveX頁面中。編程入門第一課HelloWorld 曾幾何時,HelloWorld已經(jīng)成為編程入門的第一課。不管是什么語言,都以一個打出Hello World字串的小程序作為第一個入門程序。我們現(xiàn)在學C+Builder也把這個程序作為學習C+Builder的第一個入門程序。 相對C/C+等非可視化語言來說,C+Builder作為一種強大的可視化編程語言,那么它的入門級的HelloWorld程序也會非同凡響,而且還很簡單易

13、懂。好,現(xiàn)在就開始我們的HelloWorld!一首先要創(chuàng)建一個新的程序。在【File】菜單下選【New】,再在【New Items】對話框中選擇Application,按OK鍵?;蛘咴凇綟ile】菜單下直接選擇【New Application】。二加入相關(guān)組件。 把要用到的組件從在組件面板(Palette)上拖到窗體(Form)上,擺好位置,并設(shè)置好大小。我們這里用到一個標簽(Label)和兩個命令按鈕(Button)。再改變窗體的大小,使窗體看上去好看一點。三設(shè)置組件的屬性 在屬性查看器中修改各個組件的屬性。下面的圖示是把Label1的Caption(標題)屬性改為HelloWorld。先點

14、擊窗體上的Label1組件,再在右邊的屬性查看器中選定Caption的項,輸入HelloWorld。編程入門第一課HelloWorld如上述所示,分別設(shè)置三個組件的屬性為:組件屬性值Form1CaptionHelloWorldLabel1CaptionHelloWorldFont宋體,粗體,一號Button1CaptionStartButton2CaptionExit四加入事件。雙擊Button1,彈出代碼編輯窗口,在Button1Click事件中加入以下代碼:Label1->Caption="Hello C+Builder!" ;雙擊Button2,在Button1

15、Click事件中加入以下代碼:Form1>Close();五編譯運行HelloWorld程序。 按快速欄上的運行按鈕,或者按快捷鍵(F9)運行HelloWorld程序。按【Start】 按鈕 ,結(jié)果如下:按【Exit】退出程序。 到此為止,一個完整的HelloWorld程序就完成啦,是不是簡單得不可思議呢?下面再說兩個小技巧:1 更換標題欄上得圖標。 更改窗體(Form1)的Ico屬性,把它改為你想要的圖標文件(*.Ico).2 更改執(zhí)行文件的圖標 在【Project】菜單下選【Options】,彈出【Project Option】對話框,選擇【Application】頁,按【LoadI

16、con】鍵瀏覽選擇自己想要的圖標文件。按【OK】。 按【Project】菜單下的【Build Project】編譯HelloWorld程序,得到可執(zhí)行文件(.exe)。設(shè)計菜單之一下拉式菜單 用過Windows程序(最典型的就是Word和資源管理器或一般Windows軟件)的人也許有個印象,就是Windows下的程序的菜單很豐富好用,而且還很靈活多變。 事實上Windows下的程序的菜單大致可以分成兩大類: 第一類是下拉式的菜單,如主菜單(MainMenu)和右鍵菜單(PopMenu); 第二類是功能按鈕菜單,如工具菜單(ToolMenu)。 絕大多數(shù)的Windows程序都是采用下拉式的菜單,

17、也有少部分的程序是使用功能按鈕菜單。這兩種菜單設(shè)計方式各有優(yōu)缺點,前者的好處是設(shè)計方式簡單、不占畫面空間,可是缺點是必須一層一層地進入之功能選項,無法一次看到所有的功能選項;而后者的優(yōu)點是可以加入漂亮的圖標、一次可以看到許多的選項,缺點是占程序畫面的空間。我們這里將分別介紹這兩種菜單。一下拉式菜單 下拉式菜單由菜單項和菜單命令構(gòu)成,菜單項起到將功能分類存放的作用,如【文件】菜單項就是將針對文件操作的所有功能收容其下。而這些功能就體現(xiàn)為若干項菜單命令,菜單命令必須選定其所屬菜單項后才出現(xiàn)在下拉菜單中。下拉式菜單包括主菜單(MainMenu)和右鍵菜單(PopMenu)。1 主菜單(MainMen

18、u)(1)創(chuàng)建主菜單。步驟1:先啟動一個新的工程【File】->【New Application】。步驟2:從組件面板的【Standard】頁,拖拉MainMenu組件到Form1上。步驟3:雙擊Form1上的MainMenu,出現(xiàn)一個菜單編輯器。步驟4:接著點選第一項主菜單的位置,并且在屬性Caption輸入字符串文件,然后點選第一項主菜單下面的第一層子菜單,繼續(xù)輸入直到第一項主菜單的功能建立完畢,接著輸入第二項主菜單,如此類推。注意:(1)如果你想輸入分割符,請把改2項的屬性Caption設(shè)置為-即可。(2)如果你想加入快捷鍵,請在選項字符串中挑出某個字符,當作代表此項功能的熱鍵(H

19、ot Key),在那個字符的前面加上&z字符即可。當程序運行時,你可以同時按下【Alt】鍵和熱鍵字符來執(zhí)行對應的功能選項。另外一種熱鍵功能是直接設(shè)定每一個選項的屬性ShotCut。步驟5:如果在第一層子菜單的選項想繼續(xù)往下建立第二層菜單,請將鼠標移到第一層子菜單的第一項功能打開文件,然后按下鼠標右鍵,你將會發(fā)現(xiàn)右鍵菜單的第三項功能Create Submenu,點選它之后,打開文件選項下面就會多一層子菜單,你再輸入這份子菜單內(nèi)的選項內(nèi)容,若是想繼續(xù)往下建立子菜單,如此類推。步驟6:整個菜單建立完成以后,每一項菜單功能的程序是寫在OnClick事件內(nèi),而每一項菜單功能都會產(chǎn)生對應的OnCl

20、ick事件。你可以將鼠標移到菜單編輯器上的菜單項上雙擊,會彈出程序編輯器,然后你可以在當前位置(事件程序)中輸入你的程序代碼。(2)應用菜單模板和把菜單保存為菜單模板A 應用菜單模板:可以把C+Builder自帶的菜單或者是自己保存的菜單直接引用。具體操作是:在菜單編輯器的快捷菜單點擊【Insert Form Template】,再在【Insert Template】對話框中選擇一個菜單,按【OK】鍵。B 把菜單保存為菜單模板:把常用菜單保存為菜單模板,那么下次編輯菜單的時候就可以直接加載,方便省時。具體操作是:在菜單編輯器的快捷菜單點擊【Save To Template】,彈出【Save T

21、emplate】的對話框,輸入菜單的描述(名字),按【OK】鍵。到此為止,一個象模像樣的主菜單就完成拉,是不是很不錯呢?2 右鍵菜單(PopMenu) 右鍵菜單(PopMenu)又叫彈出菜單,你可以先設(shè)計好一個PopMenu組件,然后指定給任何一個可視化組件,當用戶將鼠標移到這些可視化組件上,按下右鍵,就會彈出一個菜單,這個菜單就是PopMenu組件,下面是建立PopMenu菜單的步驟:步驟1:先從組件面板的【Standard】頁拖拉PopMenu組件到Form1上。步驟2:建立菜單的內(nèi)容和實現(xiàn)功能的事件程序和主菜單一樣,請參考上一節(jié)。請看下圖:設(shè)計菜單之二功能按鈕菜單 Windows下的程序

22、的菜單大致可以分成兩大類:第一類是下拉式的菜單,如主菜單(MainMenu)和右鍵菜單(PopMenu);第二類是功能按鈕菜單,如工具菜單(ToolMenu)。和菜單一樣,功能按鈕菜單已經(jīng)成為Windows應用程序地一個標準配置,使用它可以進一步增強應用程序的菜單界面,一般來說,功能按鈕菜單和下來菜單密不可分。功能按鈕菜單中含有功能按鈕,功能是對于應用程序中最常用的命令的快速訪問。許多功能按鈕菜單我們已經(jīng)屢見不鮮,如下面的IE的功能按鈕菜單。 在C+Builder中,制作一個簡單的功能按鈕菜單只要用到功能按鈕控件(TToolBar)和一個圖象列表控件(TImageList)相配合就可以實現(xiàn)。一

23、般需要四個步驟:(1) 在TLmageList控件中插入合適的圖象(2) 把TToolBar控件的Images屬性設(shè)置為TlmageList(3) 通過單擊鼠標右鍵為TToolBar添加TButton,并通過屬性頁來定制。(4) 在TToolBarClick事件中加入相關(guān)操作。 制作IE風格的功能按鈕菜單則要再使用TCoolBar或者TControlBar控件,一共有三種方法,我們現(xiàn)在就配合實例講解這三種制作IE風格的功能按鈕菜單的方法。一TCoolBarTToolBarTImageList 步驟一:新建一個工程,在窗體(Form)中加入一個TCoolBar和一個TImageList控件。然后

24、在TCoolbar上加入一個TToolBar控件。把TCoolbar的Align屬性設(shè)置為alTop。調(diào)整好TToolBar的高度,再把TToolBar和TCoolBar控件的AutoSize屬性都設(shè)置為true; 步驟二:用鼠標右鍵單擊TImagelist控件,打開ImageList Editor窗口,添加對應的copy,cut和paste圖標。 步驟三:在TToolBar控件上單擊鼠標右鍵,在彈出的菜單中選擇New Button來插入TButton,選擇New Seperator來插入分割條。 步驟四:將TToolBar控件的Images的屬性設(shè)置為ImageList1,則TImageLi

25、st控件中的圖標立刻出現(xiàn)在工具按鈕菜單中。 步驟五:用鼠標雙擊功能按鈕菜單中的任意一個按鈕,就可以為這個按鈕的事件響應編寫處理代碼了。二TControlBarTToolbarTImageList 這種方法和以上的方法大同小異,只是把TCoolBar換成TControlBar就可以拉,這里不累贅說明。下圖是其效果。三把下拉式菜單放到功能按鈕菜單上這是IE中最常用的菜單,在C+Builder可以輕易實現(xiàn)。 步驟一:在窗體(Form)上放置一個TMainMenu控件,并設(shè)置好內(nèi)容; 步驟二:設(shè)置Tform的Menu屬性為空; 步驟三:放置一個TControlbar,再放置一個TToolbar在TCo

26、ntrolbar上面步驟四:設(shè)置 TToolBar 的 ShowCaptions 屬性為 true; 步驟五:在 TToolBar 上增加幾個 TToolButton,修改其 caption 模擬主菜單的樣子; 步驟六:將 TTollBar 的 grouped 屬性設(shè)置成 true; 步驟七:設(shè)置每個TToolButton 的 menuitem 對應 MainMenu 的主菜單項; 步驟八:設(shè)置TToolBar的flat屬性為true 運行程序,結(jié)果如下,就得到了一個跟IE一樣的在功能按鈕菜單上的下來式菜單。這個在功能按鈕菜單中的下拉式菜單確實很cool吧? 好,到此為止,相信讀者對C+Bui

27、lder的菜單設(shè)計(包括下拉式菜單和功能按鈕菜單)有一定了解,這有助于我們進一步設(shè)計出更漂亮實用的用戶界面。開發(fā)可Dockable的工具欄和視窗 在Windows視窗系統(tǒng)中,可Dockable的工具欄被廣泛運用在很多軟件和程序當中??蒁ockable,即dock功能。所謂dock功能就是你可以把某些工具欄和視窗與其他工具欄或視窗結(jié)合同在一個工具欄或視窗。C+Builder的IDE所包含的工具欄以及視窗就具有dock功能。如下圖所示。 工具欄的dock功能不僅使工具欄更靈活,使使用者可以隨心所欲的按照自己習慣和喜歡的方式組合、擺放工具欄,而且使操作界面更美觀。 在C+Builder中開發(fā)這種具有

28、dock功能的工具欄和視窗可以說是輕而易舉的。好,現(xiàn)在我們就開始自己動手開發(fā)可Dockable的工具欄和視窗。Lets go! 我們可以利用C+Builder開發(fā)出具有dock功能的應用程序。在C+Builder中,所以可視化的VCL組件都支持dock功能。這里可視化VCL組件是指所有繼承自TControl以及TwinControl的VCL組件。 基本上,要進行dock動作至少需要兩個組件,一個被附著的dock site組件,另一個則是附在dock site 上的組件,C+Builder所提供的可視化組件只有繼承自TwinControl的VCL組件才具有dock site功能,而只要是繼承自T

29、Control的VCL組件則具有附著在dock site的功能。 如果你想希望某個繼承自TwinControl的組件具有dock site功能,只要把屬性DockSite設(shè)置為true即可;如果你希望某個繼承自TControl的組件附著在dock site上,只要把屬性DragSite設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic即可。但程序運行的時候,你就可以利用鼠標把后者組件拖到前者組件上,后者就會自動附著在前者上,完成dock動作。下面是以兩個實際例子說明在C+Builder輕松開發(fā)可Dockable的視窗和工具欄。一開發(fā)可Dockable的視窗 步驟一:新建一個工

30、程; 步驟二:在組件面板上的Standard頁,拖一個Tpanel組件到Form1上,然后把Tpanel1的Align的屬性設(shè)為alTop,并且把屬性DockSite設(shè)置為true; 步驟三:在組件面板上的Additonal頁,拖三個Tshape組件到Form1上,并且把著三個Tshape組件的屬性DragKind設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic; 步驟四:運行程序,你就可以利用鼠標把Tshape組件dock在Tpanel組件上。二開發(fā)可Dockable的工具欄 步驟一:新建一個工程; 步驟二:按照上一篇的方法用TmainMenuTcontrolBarTTo

31、olBar創(chuàng)建一個位于工具欄中的下拉式菜單; 步驟三:接著把Tcontrolbar的屬性DockSite設(shè)置為true,把TToolBar的屬性DragKind設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic; 步驟四:運行程序,得到一個具有dock功能的工具欄,你可以把工具欄停靠在窗體(Form1)的上面,也可以把它拖出來浮動于窗體之上。如下圖所示: 到此為止,我們已經(jīng)學會了如何開發(fā)具有dock功能的應用程序。它使使用者可以隨心所欲地組合和擺放工具欄,又可以使程序界面更美觀。創(chuàng)建多文檔界面(MDI)程序多文檔界面(Multiple Document Interface,M

32、DI)是在一個應用程序中能夠同時處理兩個或者更多個窗體的界面形式。例如常見的MicroSoft Word 這個排版編輯軟件就可以同時編輯多篇文章,因此它是一個典型的多文檔界面的應用程序。MDI應用程序的多窗體特性使用戶可以在同一個工作區(qū)域內(nèi)對多個文檔進行觀察和數(shù)據(jù)交換,以便工作的協(xié)調(diào)和高效地進行。MDI的工作區(qū)域分為主窗體(MDI)和子窗體(Child)。主窗體是程序運行的基本環(huán)境,也是生成子窗體的基礎(chǔ),它通常不對用戶的文檔進行處理。主窗體以外就是子窗體,每個子窗體負責處理一個用戶得文檔。這些文檔可以是相同得文件格式,也可以是不同的文件格式。C+Builder提供了一整套設(shè)計MDI應用程序的組

33、件,讓你很容易、快速地開發(fā)一個MDI的應用程序。設(shè)計開發(fā)一個MDI應用程序一般分三個步驟:1創(chuàng)建MDI主窗體;2創(chuàng)建MDI子窗體;3在MDI主窗體和子窗體中加入代碼。我們現(xiàn)在就以開發(fā)一個簡單的多文檔界面的文字處理應用程序為例子,按以上三個步驟一步步講述如何開發(fā)一個MDI應用程序。一創(chuàng)建MDI主窗體 在MDI應用程序中,主窗體為應用文檔提供了一個工作平臺,所有的子窗體都在主窗體中打開和工作,同時主窗體也是應用程序的啟動窗體,因此,創(chuàng)建主窗體是創(chuàng)建MDI應用程序的第一步。 1新建一個工程,把Form1的caption屬性和name屬性設(shè)置為MDIFrm,并把FormStyle屬性設(shè)置為fsMDIF

34、orm; 2選擇【Project】菜單下的【Options】命令打開【Project Option】對話框,在【Forms】標簽頁中的Main Form組合框中選擇所創(chuàng)建的主窗體名Form1,將該窗體設(shè)置為啟動窗體; 3在主窗體中加入一個主菜單控件(MainMenu),和一個打開文件對話框控件(OpenDialog); 4在主菜單中添加菜單項; 5打開文件對話框的過濾編輯器,添加以下內(nèi)容;二創(chuàng)建MDI子窗體 當MDI應用程序的主窗體創(chuàng)建之后,就可以再創(chuàng)建新的窗體作為子窗體,還可以通過該窗體模板創(chuàng)建多個子窗體的實例,最后還可以在子窗體上進行編輯操作以滿足要求。 1首先使用【File】菜單中的【N

35、ew】命令創(chuàng)建一個新的窗體,將其caption屬性和name屬性設(shè)置為ChildFrm; 2然后將該窗體的FormStyle屬性設(shè)置fsMDIChild,再在【Project|Options】對話框中將Auto-create Forms 列表框中的ChildFrm窗體名移到Available forms中,這樣程序啟動時就不會自動創(chuàng)建該窗體;3在子窗體中添加控件并設(shè)置屬性;4在主菜單中添加菜單項;5打開文件對話框的過濾編輯器,添加以下內(nèi)容;三在主窗體和子窗體中加入代碼 1添加主窗體的事件代碼 (1)在菜單【File|Include Unit Hdr】中把子窗體的頭文件包含進主窗體,以便于主窗體

36、對子窗體進行訪問。 (2)菜單項【File|New】用于按照ChildFrm窗體模板新建一個子窗體。void _fastcall TMDIFrm:New1Click(TObject *Sender)TChildFrm *NewChildFrm=new TChildFrm(this);NewChildFrm->Caption=NewChildFrm; (3)菜單項【File|Open】用于新建一個ChildFrm窗體并將已有的文件的內(nèi)容添加到此窗體中。void _fastcall TMDIFrm:Open1Click(TObject *Sender)if(OpenDialog1->E

37、xecute()TChildFrm *NewChildFrm=new TChildFrm(this);NewChildFrm->RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);NewChildFrm->Caption=ExtractFileName(OpenDialog1->FileName);2添加子窗體的事件代碼(1)在菜單【File|Include Unit Hdr】中把主窗體的頭文件包含進子窗體,以便于子窗體對主窗體進行訪問。(2)為子窗體的菜單項添加代碼void _fastcall TCh

38、ildFrm:New1Click(TObject *Sender)MDIFrm->New1Click(Sender); /新建文件,可以直接調(diào)用主窗體事件處理函數(shù)void _fastcall TChildFrm:Open1Click(TObject *Sender)MDIFrm->Open1Click(Sender); /打開文件,可以直接調(diào)用主窗體事件處理函數(shù)void _fastcall TChildFrm:Save1Click(TObject *Sender)if(SaveDialog1->Execute()RichEdit1->Lines->SaveToFi

39、le(SaveDialog1->FileName+".txt");/把RichEdit的內(nèi)容保/存到文件void _fastcall TChildFrm:Copy1Click(TObject *Sender)RichEdit1->CopyToClipboard(); /把RichEdit中選中的內(nèi)容拷貝到剪切板void _fastcall TChildFrm:Cut1Click(TObject *Sender)RichEdit1->CutToClipboard(); /把RichEdit中選中的內(nèi)容剪切到剪切板void _fastcall TChildFr

40、m:Paste1Click(TObject *Sender)RichEdit1->PasteFromClipboard(); /把剪切板中的內(nèi)容粘貼到RichEdit的當前位置MDI應用程序在缺省的情況下,執(zhí)行關(guān)閉操作時并不真正關(guān)閉子窗口,而僅僅是最小化它。因此子窗口關(guān)閉時,要首先設(shè)置其Action屬性。void _fastcall TChildFrm:FormClose(TObject *Sender, TCloseAction &Action)Action=caFree; / 把它的Action設(shè)置為caFree再寫【File】菜單的【Close】命令的處理函數(shù)void _f

41、astcall TChildFrm:Close1Click(TObject *Sender)MDIFrm->ActiveMDIChild->Close();/關(guān)閉當前子窗口最后編譯運行程序,一個功能簡單的文字處理的MDI應用程序就搞定拉。提示信息框(MessageBox)的應用 應用程序中的提示信息處理程序是非常出重要的部分,用戶要知道他輸入的資料到底正不正確,或者是應用程序有一些提示信息要告訴用戶,都必須通過提示信息處理程序來顯示適當?shù)男畔ⅲ層脩袅私庀乱徊皆撊绾闻渲谩L崾拘畔⒂泻芏喾N類,包括警告,錯誤,提示,確認,重試等。不同種類的提示信息框適合用在各種不同的情況。在C+Bui

42、lder中開發(fā)提示信息框只須調(diào)用MessageBox這個信息提示框函數(shù)就行,下面就是這個函數(shù)說明:int _fastcall MessageBox(const char * Text,/提示信息框的內(nèi)容const char * Caption, /提示信息框的標題int Flags); /提示信息框的類別參數(shù)Flags的值是用來標志提示信息框的類別的,下面是一些常用的類別:參數(shù)值樣式意義MB_ICONWARNING含圖標、固定按鈕警告信息框MB_ICONQUESTION含圖標、固定按鈕疑問信息框MB_ICONERROR含圖標、固定按鈕錯誤信息框MB_ICONASTERISK含圖標、固定按鈕提示

43、信息框MB_HELP不含圖標、可改變按鈕說明信息框MB_OK不含圖標、可改變按鈕提示信息框MB_OKCANCEL不含圖標、可改變按鈕確認信息框MB_RETRYCANCEL不含圖標、可改變按鈕重試信息框MB_YESNO不含圖標、可改變按鈕是否信息框MB_YESNOCANCEL不含圖標、可改變按鈕是否取消信息框從上表可以看出來,提示信息框的類別可以分成含圖標和不含圖標,含圖標的意思就是指提示信息框上會有代表意義的圖形,不過這類型的提示信息框的按鈕都是固定的,都是【確定】按鈕,不能增加也不能省略;不含圖標的提示信息框,雖然沒有對應的圖形顯示在提示信息框上,可是你卻可以在這種類型的提示信息框內(nèi),加入各

44、種組合的按鈕,用于各種不同的情況。MessageBox函數(shù)會返回一個整數(shù)值,這個整數(shù)值代表用戶剛剛點擊提示信息框上的哪個按鈕,每個返回值的代表意義在下表:返回值數(shù)值意義IDOK1確定IDCANCEL2取消IDABORT3中斷IDRETRY4重試IDIGNORE5忽略IDYES6是IDNO7否下面是提示信框的示范程序:1 警告信息框Application->MessageBox("警告信息框","警告信息框",MB_ICONWARNING);2疑問信息框Application->MessageBox("疑問信息框",&quo

45、t;疑問信息框",MB_ICONQUESTION);3錯誤提示框Application->MessageBox("錯誤信息框","錯誤信息框",MB_ICONERROR);4提示信息框Application->MessageBox("提示信息框","提示信息框",MB_ICONASTERISK);5說明信息框Application->MessageBox("說明信息框","說明信息框",MB_HELP);6提示信息框Application->

46、MessageBox("提示信息框","提示信息框",MB_OK);7確認信息框Application->MessageBox("確認信息框","確認信息框",MB_OKCANCEL);8重試信息框Application->MessageBox("重試信息框","重試信息框",MB_RETRYCANCEL);9是否信息框Application->MessageBox("是否信息框","是否信息框",MB_YESNO);

47、10是否取消信息框Application->MessageBox("是否取消信息框","是否取消信息框",MB_YESNOCANCEL); 在C+Builder中,還提供了一個很簡單的信息提示框函數(shù),那就是ShowMessage。這個函數(shù)只有一個字符串參數(shù),你可以把要顯示的字符串放到這個字符串參數(shù)里面,ShowMessage就回顯示出該信息,但是沒有圖標,也沒有按鈕,只有單純的字符串信息而已。下面是ShowMessage函數(shù)的說明:extern PACKAGE void _fastcall ShowMessage(const AnsiString

48、Msg);例子:ShowMessage("這個就是ShowMessage函數(shù)生成的信息提示框!");標準對話框的應用 對話框,可能是Windows里面最常見的窗口,不管是打開文件、保存文件,還是查找或者替換等,無一不是Windows的對話框。在C+Builder的可視組件庫(VCL)中,總共提供了十個標準的對話框組件,我們可以在組件面板的【Dialogs】頁中找到這些通用對話框組件,如下所示: 它們從左到右依次是:文件打開對話框(OpenDialog)、文件保存對話框(SaveDialog)、圖形文件打開對話框(OpenPictureDialog)、圖形文件保存對話框(Sa

49、vePictureDialog)、字體對話框(FontDialog)、顏色對話框(ColorDialog)、打印對話框(PrintDialog)、打印機設(shè)置對話框(PrintSetupDialog)、查找對話框(FindDialog)和替換對話框(ReplaceDialog)。 在這里我們先研究一下最常用的幾個對話框,分別是文件打開對話框(OpenDialog)、文件保存對話框(SaveDialog)、字體對話框(FontDialog)、顏色對話框(ColorDialog)、查找對話框(FindDialog)以及替換對話框(ReplaceDialog)。現(xiàn)在就讓我們一起來慢慢逐一分析研究。一文

50、件打開對話框和文件保存對話框 文件打開對話框組件為應用程序打開一個已經(jīng)存在的文件,文件保存對話框組件將現(xiàn)有的文檔保存到磁盤的文件上。1 Execute()方法 我們可以通過調(diào)用Execute()方法來顯示文件打開對話框或文件保存對話框。如下圖所示2 Filter屬性 這個屬性顯示在文件列表框中的文件類型。例如,我們?nèi)绻x擇了*.txt的文件類型,那么只有文本文件才會顯示在文件列表框中。我們可以通過過慮編輯器(Filter Editor)決定Filter屬性的所有可能取值。3 FileName屬性 在FileName屬性中保存了文件操作對象的完整文件路徑和文件名。4 實現(xiàn)代碼if(OpenDia

51、log1->Execute() /打開打開文件對話框RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName); /把文件讀取到多文本編輯/器中if(SaveDialog1->Execute() /打開保存文件對話框RichEdit1->Lines->SaveToFile(SaveDialog1->FileName); /把多文本編輯器的內(nèi)容保存到/文件中二字體對話框和顏色對話框 字體對話框(FontDialog)和顏色對話框(ColorDialog)用于在應用程序中選擇適當?shù)淖煮w屬性和顏色屬性,從而使文檔變得富于表現(xiàn)力。if(FontDialog1->Execute() /打開字體對話框RichEdit1->Font=FontDialog1->Font;/把多文本編輯器的字體設(shè)置為所選字體if(ColorDialog1->Execute() /打開顏色對話框RichEdit1->Font->Color=ColorDialog1->Color;/把多文本編輯器的顏色設(shè)置為所選顏色三查找和替換對

溫馨提示

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

評論

0/150

提交評論