VS2008MFC入門指導(dǎo)案例_第1頁
VS2008MFC入門指導(dǎo)案例_第2頁
VS2008MFC入門指導(dǎo)案例_第3頁
VS2008MFC入門指導(dǎo)案例_第4頁
VS2008MFC入門指導(dǎo)案例_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、簡介本文主要是對中的用法做個(gè)簡要介紹。我找了很久相關(guān)資料都沒有找到適合新手的相關(guān)文章。希望本文能夠幫助有著類似痛苦經(jīng)歷的兄弟。背景分割窗體就是把一個(gè)窗體分割成多個(gè)面板,如圖1那樣,或者像是迅雷那樣。面板就是放各種控件或視圖的容器。分割窗體有兩種形式,靜態(tài)和動態(tài)。今天講的只涉及到靜態(tài)的,因?yàn)閯討B(tài)的要復(fù)雜些。兩種形式的區(qū)別在于動態(tài)的可以收攏和展開,靜態(tài)的則不能。代碼指南0、建立項(xiàng)目打開,0新08建項(xiàng)目,選擇應(yīng)用程序。圖2如上圖所示,設(shè)置好之后單擊“完成”。1、定義變量如圖4在中添加變量和。布爾變量用來管理分割窗體的狀態(tài),用來判斷是否已經(jīng)分割過了。是用來把窗體分割成圖那樣子。另外,在的構(gòu)造函數(shù)中,把

2、設(shè)置為。如圖CMaiitFrame:CMaiitFrame()HTODO:在此添加成員初貽化代碼islnit=FALSE;clanCMaiitFrame:publicCFrametfndExprotected:/僅從序列化創(chuàng)連CMairiTiiiTie(.);IlECLAJLEJlYNCJLEATE(CMairLFrie)/雇性public:分割窗體的對象CSplitterWndsplitter;用來判斷窗體是否分割完成BOOLiilnit:H操作publiC:技巧:用慣了的智能感知,很不習(xí)慣里面沒有智能感知。不過據(jù)我所知早在里面就有個(gè)快捷鍵Alt+-來實(shí)現(xiàn)類似智能感知的功能,如圖中,輸入后,

3、同時(shí)按下Alt+-這兩個(gè)鍵就出現(xiàn)了供選擇變量、方法、宏等的列表,繼續(xù)輸入后,就出來了。2分割窗體分割窗體的動作應(yīng)該在主窗體創(chuàng)建客戶區(qū)的時(shí)候執(zhí)行。在中對t消息進(jìn)行重寫就可以達(dá)到我們的目的。在中,單擊“視圖”,“類視圖”,選中,右鍵,選擇“屬性”,如圖+量數(shù)常函射和局映宏全_=_勺先龜勺先CAboutDlg:=UT|hCspliterAppCspliterDocCspliterVie類觀圖nr4aXCJ事睜L纔索T|-在“屬性”窗口右上選擇“重寫”,如圖6.就是“閃電”右邊的右邊那個(gè)。屬性占XClainFraaeVCCodeClass向下拉動滾動條,找到,選擇添加。如圖日非逋用UriSetFTwi

4、ewM:pp:CMairLFr:ajne類的實(shí)現(xiàn)includestdax.h#includespliter.h#includespliterView.h|#includeMainfrm.hE#ifde_HEBUGL#demenewHEBUG_HEW#endif中添加的引用。如圖/spliterView.h:CspliterView類的接口/#includespliterIIoc.h|#pragiTiaotlce曰classCspliterView:publicCView.1.I-I-Jrn|F-FtiljI.-Jjil7-+l-rrJc11nir-FtiI/1.-j_i、改寫返回值注釋調(diào),添加

5、代碼如圖BOOLCMainFr:iJTie::UnCreateClient(LFCFlEATESTRUCTlpce_,CCreateContext*pContext;iL/TLIDLI:在此添協(xié)專用代碼和/或調(diào)用基類if(!Eplitter.Creacthie_,1,2;l;l創(chuàng)連失敗/你也可以在這里加對話框來提示FEtuitlFALSE;CRertcr;GmtClientF:包匚t):i(!splitter.CreateView(0,U,R1_BTIME_CLASS(CspliterView).CSize(cr.Width0/2.,cr.Height0X.pCcm/卿定默認(rèn)視圖到左側(cè)面板re

6、IuitlFALSE;if(!Eplitter.CreatmYiew(ij,1.R1_HTIME_CLASS(CspliterView:i.CSize(cr.WidthO/S.,cr.Height0|pCcmtext.l.I/卿定默認(rèn)視團(tuán)到右側(cè)面板FEtuitlFALSE;i呂皿t二TRUE;retijiTLTEUE;j1j1retuitlCFr:dinetfruiEx:OrtCreat已匚1ieht(lpcs,pCcinlext;l:、響應(yīng)窗體縮放消息處理函數(shù)。函數(shù)用來響應(yīng)窗體大小變化的消息。如圖至圖所示,創(chuàng)建如圖1、3圖厘性-H=XClainFraaeVCCudeCiassClainFru

7、e冊.ACTIVATE消息WM_ACTIVATEAPWM_AFFCi:iMMABIiWM_ASB:CBFUFJi1A:islnit二TRUE;廣mtijitlTRUE;iiteturnCFr:=uneWndEx:0nCreateC1ient(.1pce,pCutltext.3VOidCMainF丁am已::OnSizeUINTnType,intcx_,intcy.)CFr:iJTiHlili,rLiiEx:UnSirenTyp已ex,cy.);/TODO:在此處忝加消息處理程序代碼CRectcr;GetClientRect(&cr);if(islnit&kLT5Te!=SIZEJilI肛MI2:ED;isplitter.EmtRciwIrLfi:!tO.,cy.,0);splitter.SetColumnlnfo(0cr.

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論