版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VisualC編程的若干技巧VisualC是一種面向?qū)ο蟮目梢暬幊坦ぞ?,它提供的AppWizard能自動(dòng)生成應(yīng)用程序的標(biāo)準(zhǔn)框架,大大減輕了編程的工作量。但是,由于生成的應(yīng)用程序框架使程序的用戶(hù)界面和程序結(jié)構(gòu)都只能具有標(biāo)準(zhǔn)形式,而在實(shí)際的程序設(shè)計(jì)中,又常常需要設(shè)計(jì)一些非標(biāo)準(zhǔn)的應(yīng)用程序,或?qū)崿F(xiàn)一些特別的功能或操作。因此使用一些技巧來(lái)修改應(yīng)用程序框架,以得到所需的應(yīng)用效果,便很有使用價(jià)值。本文將主要介紹如下的編程技巧:修改主窗口風(fēng)格、創(chuàng)建不
2、規(guī)則形狀窗口、用鼠標(biāo)單擊窗口標(biāo)題條以外區(qū)域移動(dòng)窗口、使用上下文菜單、使應(yīng)用程序只能運(yùn)行一個(gè)實(shí)例、使應(yīng)用程序顯示為任務(wù)條通知區(qū)中的圖標(biāo)和顯示旋轉(zhuǎn)文本等。1.修改主窗口風(fēng)格AppWizard生成的應(yīng)用程序框架的主窗口具有缺省的窗口風(fēng)格,比如在窗口標(biāo)題條中自動(dòng)添加文檔名、窗口是疊加型的、可改變窗口大小等。要修改窗口的缺省風(fēng)格,需要重載CWnd::PreCreateWindow(CREATESTRUCT創(chuàng)建窗口的基本參數(shù)HLEhInstance
3、擁有將創(chuàng)建的窗口的模塊實(shí)例句柄HMENUhMenu新窗口的菜單句柄HWNDhwndParent新窗口的父窗口句柄intcy新窗口的高度intcx新窗口的寬度inty新窗口的左上角Y坐標(biāo)intx新窗口的左上角X坐標(biāo)LONGstyle新窗口的風(fēng)格LPCSTRlpszName新窗口的名稱(chēng)LPCSTRlpszClass新窗口的窗口類(lèi)名DWDdwExStyle新窗口的擴(kuò)展參數(shù)CRgn提供了CreateRectRgn、CreateEllipticR
4、gn和CreatePolygonRgn成員函數(shù),分別用以創(chuàng)建矩形、(橢)圓形和多邊形區(qū)域。創(chuàng)建非矩形窗口的方法如下:首先,在窗口類(lèi)中定義區(qū)域類(lèi)成員數(shù)據(jù)(如CRgnm_rgnWnd);其次,在窗口的OnCreate函數(shù)或?qū)υ捒虻腛nInitDialog函數(shù)中調(diào)用CRgn類(lèi)的CreateRectRgn、CreateEllipticRgn或CreatePolygonRgn函數(shù)創(chuàng)建所需的區(qū)域,并調(diào)用SetWindowRgn函數(shù)。下例將生成一個(gè)橢
5、圓窗口。1.在DeveloperStudio中選取File菜單中的New命令,在出現(xiàn)的New對(duì)話框中選擇創(chuàng)建MFCAppWizard(exe)框架應(yīng)用程序,并輸入項(xiàng)目名為EllipseWnd。設(shè)定應(yīng)用程序類(lèi)型為基于對(duì)話框(Dialogbased),其它選項(xiàng)按缺省值創(chuàng)建項(xiàng)目源文件。2.使用資源編輯器從主對(duì)話框(ID為IDD_ELLIPSEWND_DIALOG)刪除其中的所有控制,并從其屬性對(duì)話框(DialogProperties)中設(shè)定其
6、風(fēng)格為Popup、無(wú)標(biāo)題條和邊框。3.在EllipseWndDlg.h源文件中給主對(duì)話框類(lèi)CEllipseWndDlg增加一個(gè)CRgn類(lèi)保護(hù)型數(shù)據(jù)成員m_rgnWnd,它將定義窗口的區(qū)域。4.在EllipseWndDlg.cpp源文件中修改主對(duì)話框類(lèi)CEllipseWndDlg的OnInitDialog()函數(shù),增加m_rgnWnd的創(chuàng)建,并將其定義為窗口區(qū)域。粗體語(yǔ)句為新增部分。BOOLCEllipseWndDlg::OnInitDi
7、alog()CDialog::OnInitDialog()Add“About...“menuitemtosystemmenu.IDM_ABOUTBOXmustbeinthesystemcommrange.ASSERT((IDM_ABOUTBOXASSERT(IDM_ABOUTBOX0xF000)CMenupSysMenu=GetSystemMenu(FALSE)if(pSysMenu!=NULL)CStringstrAboutMenus
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 各種風(fēng)格小區(qū)主入口
- 口風(fēng)琴教案
- 教案(口風(fēng)琴)
- 風(fēng)口風(fēng)速匯總
- 出口風(fēng)險(xiǎn)預(yù)警信息
- 2015-2016學(xué)年口風(fēng)琴教案
- CPPI策略缺口風(fēng)險(xiǎn)研究.pdf
- matlab的命令窗口、圖形窗口
- 淺析電視新聞主播風(fēng)格的形成與發(fā)展
- 如何制作動(dòng)態(tài)人口風(fēng)暴圖
- 13、風(fēng)口風(fēng)量測(cè)試調(diào)整記錄
- 窗口抖動(dòng)
- 口風(fēng)琴興趣小組活動(dòng)計(jì)劃
- 口風(fēng)琴興趣小組活動(dòng)細(xì)則
- 滑動(dòng)窗口
- js打開(kāi)新窗口(模式或非模式窗口)
- 二年級(jí)口風(fēng)琴教案
- 窗口藥學(xué)服務(wù)
- 滑動(dòng)窗口協(xié)議
評(píng)論
0/150
提交評(píng)論