【Z】C++builder教程大全413_第1頁
【Z】C++builder教程大全413_第2頁
【Z】C++builder教程大全413_第3頁
【Z】C++builder教程大全413_第4頁
【Z】C++builder教程大全413_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、BorlandC+Builder5.0是Interpries(Borland)公司推出的基于C+語言的快速應(yīng)用程序開發(fā)(RapidApplicationDevelopment,RAD)工具,它是最先進(jìn)的開發(fā)應(yīng)用程序的組件思想和面向?qū)ο蟮母咝дZ言C+融合的產(chǎn)物。C+Builder十足利用了已經(jīng)發(fā)展成熟的Delphi的可視化組件庫(VisualComponentLibrary,VCL),吸收了BorlandC+5.0這個卓越編譯器的諸多優(yōu)點。C+Builder結(jié)合了先進(jìn)的基于組件的程序設(shè)計技術(shù),成熟的可視化組件庫和卓越編譯器,調(diào)試器。發(fā)展到5.0版本,C+Builder已經(jīng)成為一個非常成熟的可視化

2、應(yīng)用程序開發(fā)工具,功能強大而且效率高。C+Builder的特色:1 C+Builder是高性能的C+開發(fā)工具C+Builder是基于C+的,它具有高速的編譯,連接和執(zhí)行速度。同時,C+Builder具有雙編譯器引擎,不僅可以編譯C/C+程序,還能編譯ObjectPascal語言程序。2 C+Builder是卓越的可視化應(yīng)用程序開發(fā)工具C+Builder是一完善的可視化應(yīng)用程序開發(fā)工具,使程序員從繁重的代碼編寫中解放出來,使他們能將注意力重點放在程序的設(shè)計上,而不是簡單的重復(fù)的勞動中。同時,它提供的完全可視的程序桌面開發(fā)工具,從而使程序員對開發(fā)工具的學(xué)習(xí)周期大大縮短3 C+Builder具有強大

3、的數(shù)據(jù)庫應(yīng)用程序開發(fā)功能C+Builder提供了強大的數(shù)據(jù)庫處理功能,它使的程序員不用寫一行代碼就能開發(fā)出功能強大的數(shù)據(jù)庫應(yīng)用程序,這些主要依賴于C+Builder眾多的數(shù)據(jù)庫感知控件和底層的BDE數(shù)據(jù)庫引擎。C+Builder除了支持Microsoft的ADO(ActiveDataObject)數(shù)據(jù)庫連接技術(shù),還提供了一種自己開發(fā)的成熟的數(shù)據(jù)庫連接技術(shù)BDE(BorlandDatabaseEngine)數(shù)據(jù)庫引擎。4 C+Builder具有強大的網(wǎng)絡(luò)編程能力C+Builder具有眾多的Internet應(yīng)用程序開發(fā)控件,如WebBroker,CppWebBrowser,WinSocks等,它們

4、基本含蓋了Internet應(yīng)用的全部功能,利用它們程序員可以方便地建立自己地Internet應(yīng)用程序。一C+Builder5.0的集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment)1 C+Builder5.0的IDE主桌面1)組件面板標(biāo)準(zhǔn)組件選項卡上的組件是構(gòu)成Windows應(yīng)用程序窗口最常用的標(biāo)準(zhǔn)元素,它們包括15種組件。主要有:主菜單(MainMenu),右鍵菜單(PopMenu),標(biāo)簽(Label),備注(Memo),命令按鈕(Button),單選按鈕(GroupBox),復(fù)選按鈕(CheckBox),列表框(ListBox),下拉式列表框(Comb

5、oBox),滾動條(ScrollBar),組框(GroupBox)和單項按鈕組框(RadioGroup)。附加組件選項卡上的組件是Windows應(yīng)用程序常用的專門控制元素,它包括14種組件。主要有:位圖按鈕(BitBtn),加速按鈕(SpeedButton),格式編輯框(MaskEdit),字符網(wǎng)格(StringGrid),數(shù)據(jù)網(wǎng)格(dataGrid),圖片框(Image),形狀(Shape),和控制欄(ControlBar)。Win32組件選項卡上的組件是32位Windows應(yīng)用程序的常用元素,它們具有32位應(yīng)用程序的新特征,Win32組件選項卡共包括18種組件。分頁面控制(PageCont

6、rol),圖片列表(ImageList),多文本編輯器(RichEdit),列表視圖框(ListView),樹狀目錄視圖框(TreeView),工具欄(ToolBar)和狀CTGS-資料文件態(tài)欄StatusBarDataAccess和DataControl組件選項卡上的組件是用來設(shè)計數(shù)據(jù)庫應(yīng)用程序的。其中DataAccess組件選項卡上的組件是數(shù)據(jù)庫應(yīng)用程序用來與數(shù)據(jù)庫建立連接的,它們也稱為數(shù)據(jù)訪問組件。而DataControl組件選項卡上的組件是用來與用戶交互的,它們也稱為數(shù)據(jù)感知組件。主要是:表(Table),查詢(Query),數(shù)據(jù)源(DataSource),數(shù)據(jù)庫導(dǎo)航器(DBNavig

7、ator),數(shù)據(jù)表格(DBGrid),數(shù)據(jù)庫編輯框(DBEdit),數(shù)據(jù)庫靜態(tài)文本框(DBText),數(shù)據(jù)庫列表框(DBListBox),數(shù)據(jù)庫圖片(DBImage)。Dialogs組件選項卡是由一些常用標(biāo)準(zhǔn)對話框組件組成的。主要完成打開文件,保存文件,查找,替換,打印,打印機設(shè)置等Windows標(biāo)準(zhǔn)的對話框功能2)對象查看ubiEctInqje匚torIchjprtTmpector|Cco£arl:TCooCai對象名|Ccnfiar1:TCodBaPrcptJfeeJEvem|pRpetherW產(chǎn)"|3、k4|JopjbQnCh就印EAnchorMOKakTec?OnC

8、liclp7IAuioScefalse。門c/用中DCMEWndEor掣g5ing匕、OgtJblClckBandM型rriijebimCbck屬性nDocKDropBands|TCodBndv)WnriiNunelCnDiicOrof'BonfefV/idth0LrJ口nD*<jOv?rCoinDcBlnFacB事件OnEnOeckSCanstrairtsITSizeCcnstrairOnEixDragCUkmCnGriSiteinicDackSAeES1dOnMouseDowrDragCcrcrDragOnMouieMtjveDfagKnddkDockOrMgseUpDiag

9、Modedn*danusiC'nRe:iDflEdgeBardm>t4-e!lebl巾jOnSiaitDxlHdpelnnefesRatiedOnSlartDraQEdoeOuteresLowEiadOrtUrCociEnabledtrueFaedOrderfalseF«edSce田Fonti-alseITFont)HeightHelpComext33口二1IhtddsAll山tcwm對象名稱用于選擇和查看當(dāng)前對象的名稱,屬性選項卡用于設(shè)置對象設(shè)計時的可見屬性,件選項卡用來設(shè)置對象的事件句柄或者在代碼編輯器中定位對象事件句柄Windows在主菜單中選擇【File中的【N

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

11、sedynamicRtl'的勾去掉,再在compiler頁中按release鍵。然后重新在【Project中的【buildprojectU就可以把程序編譯成為可以直接運行的.exe文件。*J;ProjectOptions,保存程序在主菜單中選擇【File中的【SaveProjectAd選項。再把所以文件(包括.cpp,.bak)都保存到一個目錄下面。Open0P4nPt3Mt."ReounSaveAlShift+Ctrl+5CloseAllndud&Un*Prlrt.nExitIPEek3ejrthv(ew即。)ettftewAppIlLdtkmftewFormNe囚

12、FramiSflvcUnitIA*ri+FII寫存春(1)|SaveQrf+SSaveAsSaveProjectAfLJD回國w回CkxbfdUlmpH.cppCfc<£dtt>.CQhtJolt-匚叩ClockEdiUcContjdi_ATL,wOodCdtOCortrollTW.cpp文件名爾)jW物保存:|c+Enilderunit(*.cpp)*-保存中|取消IIB助Qp加載C+Builder組件和弓|入ActiveX控件一.加載C+Builder組件C+Builder中有很多組件,其中有一大部分組件不是很常用的,所以在C+Builder中默認(rèn)只加載了一部分常用的

13、組件,其他組件就要進(jìn)行手工加載?;蛘邚膭e的地方(如在網(wǎng)上下載)得到一些其他的組件包(*.bpl),要把它加載到C+Builder里面,就要用到加載組件。在C+Builder中加載組件是很方便的,你可以在主菜單【Project中按【Options,再選【packaged頁,又或者在【Component中選【InstallPackaged,得到packages對話框(如下圖)。如果你想要加載C+Builder中未加載的組件,只有在相應(yīng)的組件包的前面打勾來選定。如果你要加載其他組件包,按【Add按鈕,再在【AddDesignPackagd對話框中選定其組件包(*bpl)。之后按【OK】鍵,新加載的組

14、件就會出現(xiàn)在組件面板上。引入ActiveX眾所周知,ActiveX控件因為其可以跨平臺的特性使得ActiveX在很多環(huán)境下被廣泛地使用7/78CTGS-資料文件在C+Builder中引用ActiveX很簡單。具體制作是在主菜單【Component!中選【ImportActiveXControl】,彈出【ImportActiveX】的對話框,在對話框中選擇你要引用的ActiveX控件。ActiveX控件包里面有多個ActiveX控件,如這里就包1 .控件類明,可以包括多個,表示這個TSkinForm,TskinButton和TSkinPanel2.組件在ComponentPalette(組件面板

15、)ActiveX的頁面。在本例中,面我們把引入的中ActiveX控件放在3.cpp4.按【Install】鍵,ActiveX控件已經(jīng)成功地引入到中C+Builder中,反正組件面板的ActiveX頁編程入弟HelloWorld曾幾何時,HelloWorld已經(jīng)成為編程入門的第一課。不管是什么語言,都以一個打出HelloWorld字用的小程序作為第一個入門程序。我們現(xiàn)在學(xué)C+Builder也把這個程序作為學(xué)習(xí)C+Builder的第一個入門程序。相對C/C+等非可視化語言來說,C+Builder作為一種強大的可視化編程語言,那么它的入門級的HelloWorld程序也會非同凡響,而且還很簡單易懂。好

16、,現(xiàn)在就開始我們的HelloWorld!一第一步要創(chuàng)建一個新的程序。在【File】菜單下選【New】,再在【NewItems對話框中選擇Application,按OK鍵。或者在【File菜單下直接選擇【NewApplication。加入相關(guān)組把要用到的組件從在組件面板(Palette)上拖到窗體(Form)上,擺好位置,并設(shè)置好大小。我們這里用到一個標(biāo)簽(Label)和兩個命令按鈕(Button)。再改變窗體的大小,使窗體看上去好看一點匕/5Pfoiecl1-倒為按鉗(Button)SlanddfdjIWbJ?|serial0卡Accau|ADDhMvIrita.lJ-L國Q對茸j"

17、Label)Labell的Caption(標(biāo)題)屬性改為在屬性查看器中修改各個組件的屬性。下面的圖示是把10/78CTGS-資料文件HelloWorld'。先點擊窗體上的Labell組件,再在右邊的屬性查看器中選定Caption的項,輸入'HelloWorld'。bjectInspector|Lbel1:TLabd二JProperties|Events|AlignslNone4AlignmenftaLeftJujtifyEl,AnchorsakLeftkTopAutoSrzetrueBiDiModebdLeUToRighi:CaptionHelloWorldColor2

18、clEtnFaceConstrainis(TSizeCon$trairCursorcrOefaultDjigCursorcrDrasDragKind北DragDragModedrnManudEnabledtrueFocusConlrolElFont(TFont)Height13HintLayoutUTopLeft48NameLabellParentBiDiMcdtrueParentCotortruePatentFoEHueParentshowHiqtrueTlAllshown當(dāng)前選定對象名:Labell設(shè)置標(biāo)題為HelloWorld編程入門第一課HelloWorld如上述所示,分別設(shè)置三個組件

19、的屬性為:組件屬性值:orm1CaptionHelloWorldLabellCaptionHelloWorldFont宋體,粗體,TButton1CaptionStartButton2CaptionExit卷FormlllelloWorIdExit雙擊Buttonl,彈出代碼編輯窗口,在ButtonIClick事件中加入以下代碼:Label1->Caption="HelloC+Builder!"Button2,在ButtonIClick事件中加入以下代碼:Form1->Close();.HelloWorld程序五.編按快速欄上的運行按鈕,或者按快捷鍵(F9)運行

20、HelloWorld程序按【Start按鈕,結(jié)果如下按【Exit】退出程序到此為止,一個完整的HelloWorld程序就完成啦,是不是簡單得不可思議呢?下面再說兩個小技巧1更換標(biāo)題欄上得圖標(biāo)更改窗體(Forml:)的Ico屬性,把它改為你想要的圖標(biāo)文件(*Ico小題欄上的圖標(biāo)己經(jīng)改變啦2 更改執(zhí)行文件的圖標(biāo)在【Project】菜單下選【Options】,彈出【ProjectOption對話框,選擇【Application】頁,按【Loadicon鍵瀏覽選擇自己想要的圖標(biāo)文件。按OK。按【Project菜單下的【BuildProject編譯HelloWorld程序,得到可執(zhí)行文件(.exe)。設(shè)

21、計菜單之一下拉用過Windows程序(最典型的就是Word和資源管理器或一般Windows軟件)的人也許有個印象,就是Windows下的程序的菜單很豐富好用,而且還很靈活多變。事實上Windows下的程序的菜單大致可以分成兩大類:第一類是下拉式的菜單,如主菜單(MainMenu)和右鍵菜單(PopMenu)第二類是功能按鈕菜單,如工具菜單(ToolMenu)絕大多數(shù)的Windows程序都是采用下拉式的菜單,也有少部分的程序是使用功能按鈕菜單。這兩種菜單設(shè)計方式各有優(yōu)缺點,前者的好處是設(shè)計方式簡單、不占畫面空間,可是缺點是必須一層一層地進(jìn)入之功能選項,無法一次看到所有的功能選項。而后者的優(yōu)點是可

22、以加入漂亮的圖標(biāo)、一次可以看到許多的選項,缺點是占用程序畫面的空間。我們這里將分別推薦這兩種菜單。一下拉式菜單下拉式菜單由菜單項和菜單命令構(gòu)成,菜單項起到將功能分類存放的作用,如【文件】菜單項就是將針對文件制作的所有功能收容其下。而這些功能就體現(xiàn)為若干項菜單命令,菜單命令必須選定其所屬菜單項后才出現(xiàn)在下拉菜單中。下拉式菜單包括主菜單(MainMenu)和右鍵菜單(PopMenu)。<L-Duldef5-Ptd>«.L1jtijEiE*5*thMtwB4tdMCmnnrtIpotetW苗/1口才雪0里5tmtijrd|AdAanriIV/irISvttamiDitiAccM

23、IDMiCortHkADOIMlMfiawIMid*fIInkJj-LH3口口,H白司色_白®域A國宣印厘濡題苣3_W盤_|KainlenU'PopH匕莉|.主菜單(MainMenu創(chuàng)建主菜單先啟動一個新的工程File】->【NewApplication步驟2:從組件面板的【Standard頁,拖拉MainMenu組件到Forml上。步驟3:雙擊Form1上的MainMenu,出現(xiàn)一個菜單編輯器。步驟4:接著點選第一項主菜單的位置,并且在屬性Caption輸入字符串文件,然后點選第一項主菜單下面的第一層子菜單,繼續(xù)輸入直到第一項主菜單的功能建立完畢,接著輸入第二項主菜單

24、,如此類推。注意:(1)如果你想輸入分割符,請把改2項的屬性Caption設(shè)置為-“即可(2)如果你想加入快捷鍵,請在選項字符串中挑出某個字符,當(dāng)作代表此項功能的熱鍵(HotKey),在那個字符的前面加上&'z字符即可。當(dāng)程序運行時,你可以同時按下【Alt鍵和熱鍵字符來執(zhí)行對應(yīng)的功能選項。另外一種熱鍵功能是直接設(shè)定每一個選項的屬性ShotCut。步驟5:如果在第一層子菜單的選項想繼續(xù)往下建立第二層菜單,請將鼠標(biāo)移到第一層子菜單的第一項功能打開文件,然后按下鼠標(biāo)右鍵,你將會發(fā)現(xiàn)右鍵菜單的第三項功能CreateSubmenu',點選它之后,打開文件選項下面就會多一層子菜單,

25、你再輸入這份子菜單內(nèi)的選項內(nèi)容,若是想繼續(xù)往下建立子菜單,如此類推。步驟6:整個菜單建立完成以后,每一項菜單功能的程序是寫在OnClick事件內(nèi),而每一項菜單功能都會產(chǎn)生對應(yīng)的OnClick事件。你可以將鼠標(biāo)移到菜單編輯器上的菜單項上雙擊,會彈出程序編輯器,然后你可以在當(dāng)前位置(事件程序)中輸入你的程序代碼。(2) 應(yīng)用菜單模板和把菜單保存為菜單模板A.應(yīng)用菜單模板:可以把C+Builder自帶的菜單或者是自己保存的菜單直接引用。具體制作是:在菜單編輯器的快捷菜單點擊【InsertFormTemplate!,再在【InsertTemplate1對話框中選擇一個菜單,按【OK】鍵。,IFflrm

26、l.?MdinMenuJSelectMenu.,-inix|B.把菜單保存為菜單模板:把常用菜單保存為菜單模板,那么下次編輯菜單的時候就可以直接加載,方便省時。具體制作是:在菜單編輯器的快捷菜單點擊【SaveToTemplate,彈出【SaveTemplate的對話框,輸入菜單的描述(名字),按【OK】鍵。工日mp以eDescription:Form1MainMenu1EditMenuFileMemFileMenu(ForTa快削Example)HelpMenuHefpMenuExpandedMDIFrameMenuWindowMenu口KCancelHelp呢?2到此為止,一個像模像樣的主菜

27、單就完成拉,是不是很不錯PopMenu右鍵菜單(PopMenu)又叫彈出菜單,你可以先設(shè)計好一個PopMenu組件,然后指定給任何一個可視化組件,當(dāng)用戶將鼠標(biāo)移到這些可視化組件上,按下右鍵,就會彈出一個菜單,這個菜單就是PopMenu組件,下面是建立PopMenu菜單的步驟:步驟1:先從組件面板的【Standard】頁拖拉PopMenu組件到Forml上步驟2:建立菜單的內(nèi)容和實現(xiàn)功能的事件程序和主菜單一樣,請參考上一節(jié)c請看下圖:PuMenu組件r設(shè)計菜單之二一一功能按鈕菜單Windows下的程序的菜單大致可以分成兩大類:第一類是下拉式的菜單,如主菜單(MainMenu)和右鍵菜單(PopM

28、enu)。第二類是功能按鈕菜單,如工具菜單(ToolMenu)。和菜單一樣,功能按鈕菜單已經(jīng)成為Windows應(yīng)用程序地一個標(biāo)準(zhǔn)配置,使用它可以進(jìn)一步增強應(yīng)用程序的菜單桌面,一般來說,功能按鈕菜單和下來菜單密不可分。功能按鈕菜單中含有功能按鈕,功能是對于應(yīng)用程序中最常用的命令的快速訪問。許多功能按鈕菜單我們已經(jīng)屢見不鮮,如下面的IE的功能按鈕菜單。Li'tX)|J(OT,ar.在C+Builder中,制作一個簡單的功能按鈕菜單只要用到功能按鈕控件(TToolBar)和一個圖像列表控件(TImageList)相配合就可以實現(xiàn)。一般需要四個步驟:(1)在TLmageList控件中插入合適的

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

30、ar的Align屬性設(shè)置為alTop。調(diào)整好TToolBar的高度,再把TToolBar和TCoolBar控件的AutoSize屬性都設(shè)置為true。步驟二:用鼠標(biāo)右鍵單擊TImagelist控件,打開ImageListEditor'窗口,添加對應(yīng)的copy,cutpaste擇NewButton'來插入分割條。步驟三:在TToolBar控件上單擊鼠標(biāo)右鍵,在彈出的菜單中選TButton,選擇NewSeperator來插入NewButtcriNewSeparatorAligntoGridBringtoFront'SendtoBackReverttoInherited步驟四

31、:將TToolBar控件的Images的屬性設(shè)置為ImageList1,則TImageList控件中的圖標(biāo)立刻出現(xiàn)在工具按鈕菜單中。步驟五:用鼠標(biāo)雙擊功能按鈕菜單中的任意一個按鈕,就可以為這個按鈕的事件響應(yīng)編寫處理代碼了。.二.TControlBar+TToolbar+TImageList這種方法和以上的方法大同小異,只是把TCoolBar換成TControlBar就可以拉,這里不累贅說明。下圖是其效果。把下拉式菜單放到功能按鈕菜單上這是IE中最常用的菜單,在C+Builder可以輕易實現(xiàn)步驟一:在窗體(Form)上放置一個TMainMenu控件,并設(shè)置好內(nèi)容CTGS-資料文件步驟二:設(shè)置Tf

32、orm的Menu屬性為空。步驟三:放置一個TControlbar,再放置一個TToolbar在TControlbar上面.步驟四:設(shè)置TToolBar的ShowCaptions屬性為true。步驟五:在TToolBar上增加幾個TToolButton,修改其caption模擬主菜單的樣子。步驟六將TToolBar的grouped屬性設(shè)置成trueo步驟七設(shè)置每個TToolButton的menuitem對應(yīng)MainMenu的主菜單項。設(shè)置TToolBar的flat屬性為true運行程序,結(jié)果如下,就得到了一個跟IE一樣的在功能按鈕菜單上的下來式菜單。這個在功能按鈕菜單中的下拉式菜單確實很Cool

33、'吧?好,到此為止,相信讀者對C+Builder的菜單設(shè)計(包括下拉式菜單和功能按鈕菜單)有一定了解,這有助于我們進(jìn)一步設(shè)計出更漂亮實用的用戶桌面。開發(fā)可Dockable的工具欄和視窗在Windows視窗系統(tǒng)中,可Dockable的工具欄被廣泛運用在很多軟件和程序當(dāng)中。可Dockable,即dock功能。所謂dock功能就是你可以把某些工具欄和視窗與其他工具欄或視窗結(jié)合同在一個工具欄或視窗。C+Builder的IDE所包含的工具欄以及視窗就具有dock功能。如下圖所示。f口才乳*由Euft5npeett加加電0to重二到mN世心”感小必耳4器唱力K口FX3港工具欄的dock功能不僅使工

34、具欄更靈活,使使用者可以隨心所欲的按照自己習(xí)慣和喜歡的方式組合、擺放工具欄,而且使制作桌面更美觀在C+Builder中開發(fā)這種具有dock功能的工具欄和視窗可以說是輕而易舉的。好,現(xiàn)在我們就開始自己動手開發(fā)可Dockable的工具欄和視窗。Let'sgo!我們可以利用C+Builder開發(fā)出具有dock功能的應(yīng)用程序。在C+Builder中,所以可視化的VCL組件都支持dock功能。這里可視化VCL組件是指所有繼承自TControl以及TwinControl的VCL組件?;旧希M(jìn)行dock動作至少需要兩個組件,一個被附著的docksite組件,另一個則是附在docksite上的組件

35、,C+Builder所提供的可視化組件只有繼承自TwinControl的VCL組件才具有docksite功能,而只要是繼承自TControl的VCL組件則具有附著在docksite的功能。如果你想希望某個繼承自TwinControl的組件具有docksite功能,只要把屬性DockSite設(shè)置為true即可。如果你希望某個繼承自TControl的組件附著在docksite上,只要把屬性DragSite設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic即可。但程序運行的時候,你就可以利用鼠標(biāo)把后者組件拖到前者組件上,后者就會自動附著在前者上,完成dock動作。.下面是以兩個實際

36、例子說明在C+Builder輕松開發(fā)可Dockable的視窗和工具欄。一開發(fā)可Dockable的視窗步驟二:在組件面板上的Standard頁,拖一個Tpanel組件到Form1上,然后把Tpanel1的25/78CTGS-資料文件Align的屬性設(shè)為alTop,并且把屬性DockSite設(shè)置為true步驟三:在組件面板上的Additional頁,拖三個Tshape組件到Form1上,并且把著三個dmAutomatic。Tshape組件的屬性DragKind設(shè)置為dkDock,屬性DragMode設(shè)置為步驟四:運行程序,你就可以利用鼠標(biāo)把TshapeMdock在Tpanel組件上開發(fā)可Docka

37、ble步驟步驟二:下按照上一篇的方法用拉TmainMenu+TcontrolBar+TToolBar創(chuàng)建一個位于工具欄中的步驟三:接著把Tcontrolbar的屬性DockSite設(shè)置為true,把TToolBar的屬性DragKind設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic。步驟四:運行程序,得到一個具有dock功能的工具欄,你可以把工具欄??吭诖绑w(Form1)的上面,也可以把它拖出來浮動于窗體之上。如下圖所示:經(jīng)學(xué)會了如何開發(fā)具有dock功能的應(yīng)用程序。它使使用者可以隨心所欲地組合和擺放工具欄,又可以使程序桌面更美觀。.創(chuàng)建多文檔桌面(MDI)程序多文檔桌面(

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

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

40、ormStyle屬性設(shè)置為fsMDIForm。2 .選擇【Project!菜單下的【Options】命令才T開【ProjectOption對話框,在【Forms】標(biāo)簽頁中的MainForm組合框中選擇所創(chuàng)建的主窗體名Form1,將該窗體設(shè)置為啟動窗體。3 .在主窗體中加入一個主菜單控件(MainMenu),和一個打開文件對話框控件(OpenDialog)。4在主菜單中添加菜單項。5.打開文件對話框的過濾編輯器,添加以下內(nèi)容創(chuàng)建MDI當(dāng)MDI應(yīng)用程序的主窗體創(chuàng)建之后,就可以再創(chuàng)建新的窗體作為子窗體,還可以通過該窗體模板創(chuàng)建多個子窗體的實例,最后還可以在子窗體上進(jìn)行編輯制作以滿足要求1.第一步使用

41、File菜單中的【New】命令創(chuàng)建一個新的窗體,將其caption屬性和name屬設(shè)置為ChildFrm。2.然后將該窗體的createForms列表框中的該FormStyle屬性設(shè)置fsMDIChild,再在【Project|Options】對話11中將Auto-ChildFrm窗體名移到Availableforms中,這樣程序啟動時就不會自動創(chuàng)建窗體。3在子窗體中添加控件并設(shè)置屬性4在主菜單中添加菜單項5.打開文件對話框的過濾編輯器,添加以下內(nèi)容在主窗體和子窗體中加入代碼1.添加主窗體的事件代碼CTGS-資料文件(1)在菜單【File|IncludeUnitHdr】中把子窗體的頭文件包含進(jìn)

42、主窗體,以便于主窗體對子窗體進(jìn)行訪問(/$C+Buiider5-Projectl窗體的頭文含進(jìn)主窗體(2)菜單項【File|New用于按照ChildFrm窗體模板新建一個子窗體void_fastcallTMDIFrm:New1Click(TObject*Sender)TChildFrm*NewChildFrm=newTChildFrm(this);NewChildFrm->Caption=NewChildFrm;(3)菜單項【File|Open用于新建一個ChildFrm窗體并將已有的文件的內(nèi)容添加到此窗體中。void_fastcallTMDIFrm:Open1Click(TObject

43、*Sender)if(OpenDialog1->Execute()TChildFrmCTGS-資料文件*NewChildFrm=newTChildFrm(this);NewChildFrm->RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);NewChildFrm->Caption=ExtractFileName(OpenDialog1->FileName);.21)在菜單【在菜單【File|IncludeUnitHdr】中把主窗體的頭文件包含進(jìn)子窗體,以便于子窗體對窗體的菜單項代碼void_f

44、astcallTChildFrm:New1Click(TObject*Sender)MDIFrm->New1Click(Sender);/新建文件,可以直接調(diào)用主窗體事件處理函數(shù)voidfastcallTChildFrm:Open1Click(TObject*Sender)MDIFrm->Open1Click(Sender);/打開文件,可以直接調(diào)用主窗體事件處理函數(shù)void_fastcallTChildFrm:Save1Click(TObject*Sender)if(SaveDialog1->Execute()容保RichEdit1->Lines->SaveTo

45、File(SaveDialog1->FileName+".txt");/把RichEdit的/void_fastcallTChildFrm:Copy1Click(TObject*Sender)RichEdit1->CopyToClipboard();/把RichEdit中選中的內(nèi)容拷貝到剪切板void_fastcallTChildFrm:Cut1Click(TObject*Sender)RichEdit1->CutToClipboard();/把RichEdit中選中的內(nèi)容剪切到剪切板void_fastcallTChildFrm:Paste1Click(T

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

47、Click(TObject*Sender)CTGS-資料文件MDIFrm->ActiveMDIChild->Close();關(guān)閉當(dāng)前子窗口最后編譯運行程序,一個功能簡單的文字處理的MDI應(yīng)用程序就搞定拉。j.MDIFrrn-NewChiidFrm12sl海Ejle的I:二dlX多文檔界面(MultipleDocumentInterface*MDI)是在一"M2用程序中能夠同時處理兩個或看更多個窗體的界面形式.例如常見的MicroSoitWord這個排版編輯軟件就可以同時編輯多篇文章,因此它是一個典型的多文檔界面的應(yīng)用程序.MDI應(yīng)用程序的多窗體特性使用戶可以在同一個工作區(qū)

48、域內(nèi)時多個文檔進(jìn)行明察和敬據(jù)交換,以便工作的協(xié)調(diào)和高效地進(jìn)行.:MD1的工作區(qū)域分為主窗體(MDI)和子窗體(Child).主窗體是程序運行的基本環(huán)境,也是生成子窗體的基礎(chǔ),它通常不對用戶的文檔進(jìn)行處理,主窗體以就是子曾體,每個子窗體負(fù)責(zé)處理一個用戶得文檔,這些文檔可以是相同得文件格式F也可以是不同的文件格式.C+BuiMer提供了一整套設(shè)計MDI應(yīng)用程序的組件,讓你很容易,快速地開發(fā)一個MDI的應(yīng)用程序.設(shè)計開發(fā)一個MX應(yīng)用程序一般分三個步騏,L創(chuàng)建MDI主窗體:2.創(chuàng)建MDI子窗體:爾在MDI主窗體和子窗體中加入代碼.提示信息框MessageBox應(yīng)用程序中的提示信息處理程序是非常出重要的

49、部分,用戶要知道他輸入的資料到底正不正確,或者是應(yīng)用程序有一些提示信息要告訴用戶,都必須通過提示信息處理程序來顯示適當(dāng)?shù)男畔?,讓用戶了解下一步該如何配置。提示信息有很多種類,包括警告,不對,提示,確認(rèn),重試等。不同種類的提示信息框適合用在各種不同的情況在C+Builder中開發(fā)提示信息框只須調(diào)用MessageBox這個信息提示框函數(shù)就行,下面就是這int_fastcallMessageBox(constcharText,/提示信息框的內(nèi)容constchar*Caption,提示信息框的標(biāo)題intFlags);/提示信息框參數(shù)Flags的值是用來標(biāo)志提示信息框的類別的,下面是一些常用的類別:參數(shù)

50、值樣式意義MB_ICONWARNING含圖標(biāo)、固定按鈕警告信息框MB_ICONQUESTION含圖標(biāo)、固定按鈕疑問信息框MB_ICONERROR含圖標(biāo)、固定按鈕/、對信息框MB_ICONASTERISK含圖標(biāo)、固定按鈕提示信息框MB_HELP不含圖標(biāo)、可改變按鈕說明信息框MB_OK不含圖標(biāo)、可改變按鈕提示信息框MB_OKCANCEL不含圖標(biāo)、可改變按鈕確認(rèn)信息框MB_RETRYCANCEL不含圖標(biāo)、可改變按鈕重試信息框MB_YESNO不含圖標(biāo)、可改變按鈕是否信息框MB_YESNOCANCEL不含圖標(biāo)、可改變按鈕是否取消信息框從上表可以看出來,提示信息框的類別可以分成含圖標(biāo)和不含圖標(biāo),含圖標(biāo)的意

51、思就是指提示信息框上會有代表意義的圖形,不過這類型的提示信息框的按鈕都是固定的,都是【確定】按鈕,不能增加也不能省略。不含圖標(biāo)的提示信息框,雖然沒有對應(yīng)的圖形顯示在提示信息框上,可是你卻可以在這種類型的提示信息框內(nèi),加入各種組合的按鈕,用于各種不同的情況。MessageBox函數(shù)會返回一個整數(shù)值,這個整數(shù)值代表用戶剛剛點擊提示信息框上的哪個按鈕,每個返回值的代表意義在下表:返回值數(shù)值意義IDOK1確定IDCANCEL2取消IDABORT3中斷IDRETRY4重試IDIGNORE5忽略IDYES6是IDNO7否下面是提示信框的示范程序:1.警告信息框Application->Message

52、Box("警告信息框","警告信息框”,MB_ICONWARNING);2Appl三警告信息框廠謝;片7JIcation->Messa(疑問信息框jeBox("疑問信息框","疑問信息框”,MB_ICONQUESTION);Application->MessageBox("息框",",MB_ICONERROR);Application->MessageBox("框","提,MB_ICONASTERISK);息框”,MB_HELP);Application->MessageBox("Application->MessageBox(",MB_OK);息框","確,MB_OKCANCEL);Application->MessageBox("8框","重,MB_RETRYCANCEL);Application->MessageBox("是否信框”,MB_YESNO);Application->MessageBox("10Application->MessageBox("是否取消信息框","是

溫馨提示

  • 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

提交評論