資源描述:
《vc++編程技巧》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、VC++:編程技巧 VC++給人的第一感覺便是過于專業(yè)化,高深和晦澀。其實(shí)也并非如此,在基本掌握了它之后你就會發(fā)現(xiàn),VC++使用起來是很方便的。至于說難,那是有點(diǎn)。但這并非是VC++的過錯(cuò),而是Windows,這個(gè)龐大無比對用戶親切之至卻對程序員不那么友好的家伙。再說,VC++系出自名門,微軟的哪樣?xùn)|西不是先把你服侍得舒舒服服,然后再把你口袋中的錢掏個(gè)精光呢?好,下面就向大家介紹幾個(gè)在使用中的小技巧?! ?.使用中文 VC++從1.5版到現(xiàn)在的6.0版,好像還沒有出現(xiàn)過像VB一樣的中文版。大概是Microsoft認(rèn)為能夠用VC++編程的人英文水平都很高吧,但這對用戶可不行啊。V
2、C++在中文平臺下可以使用中文,但編譯后那些按鈕上的、對話框上的中文都成ASCII碼了。何故?因?yàn)閂C++在安裝時(shí)是默認(rèn)按單詞節(jié)字符安裝的,而中文字符是雙字節(jié)編碼,自然就不能正確顯示了。要解決這個(gè)問題其實(shí)也很容易,將VC++光盤上DEVSTUDIOSHAREDIDEBINIDE路徑下的中文資源語言模塊Appwzchs.dll拷貝至硬盤DevStudioSharedIDEBINIDE路徑下即可?! ?.位圖按鈕的使用 我們知道Windows是一個(gè)圖形界面的操作系統(tǒng),如果在我們的應(yīng)用程序中加入一些圖形的話,會起到錦上添花的效果。在VC++中使用位圖,并不像在VB中信手拈來那么簡單。不
3、過也并不復(fù)雜,其中以位圖按鈕用途較廣?! ∵x定要使用位圖的按鈕(以O(shè)K按鈕為例,假設(shè)其標(biāo)識符為IDC_BtonOK),選其屬性中的Ownerdraw選項(xiàng),此時(shí),在對話框編輯器中就可看到原先顯示在按鈕上的字符都消失了。將按鈕的Caption改為OK(必須為大寫)。打開Insert菜單,單擊其中的Resource選項(xiàng),隨后選擇Bitmap。再按下Import(導(dǎo)入)按鈕,將所需位圖導(dǎo)入項(xiàng)目(Project)??梢栽赗esourceView窗口中通過右鍵單擊剛才導(dǎo)入的位圖,將其ID(標(biāo)識符)改為"OKU",注意:字符必須為大寫,雙引號及字母U必不可少。字母U代表的按鈕為按下狀態(tài)時(shí)所顯示的
4、位圖。此外還可使用后綴D、F、X,分別表示按下、擁有輸入焦點(diǎn)時(shí)、按鈕處于無效狀態(tài)時(shí)所顯示的位圖。通過對同一個(gè)按鈕的不同狀態(tài)使用不同的位圖,很容易做出具有動(dòng)態(tài)效果的按鈕?! ‘?dāng)將按鈕所需使用的位圖導(dǎo)入到項(xiàng)目中后,就應(yīng)該在使用位圖按鈕的那個(gè)對話框的類聲明文件中加入位圖按鈕變量的定義CBitmapButtonm_BtonOK。同時(shí),在適當(dāng)?shù)奈恢茫ㄒ话闶窃趯υ捒虻腛nInitDialog()函數(shù)中)加入如下語句:m_BtonOK.AutoLoad(IDC_BtonOK),使程序在運(yùn)行時(shí)將位圖裝入內(nèi)存并顯示。至此,創(chuàng)建位圖按鈕的整個(gè)步驟即告結(jié)束?! ∩鲜龇椒ú粌H限于創(chuàng)建位圖按鈕,還可用于在對
5、話框上顯示簡單的位圖。噓,告訴你一個(gè)小秘密,位圖按鈕所使用的顏色最多可達(dá)256種,而非位圖編輯器中的16種。但對于256色位圖,當(dāng)在導(dǎo)入VC++的位圖編輯器后就不能使用該編輯器作任何修改。否則在編譯連接后,原先256色位圖就變成16色位圖了?! ?.通用對話框的使用 在編程中,自己要設(shè)計(jì)存儲或打開文件時(shí)的對話框是件很頭疼的事。不過Windows既然已經(jīng)為我們提供好了現(xiàn)成的通用對話框,只管拿來用就是了。先在使用文件對話框的類的類定義文件中加入對象定義CFileDialogm_OpenDialog(TRUE,"txt","*.txt")。隨后,在需要使用該對話框的地方加入以下語句:m
6、_OpenDialog.Domodal(); 其調(diào)用規(guī)則為: CFileDialog(BOOLbOpenFileDialog,LPCTSTRlpszDefExt=NULL,LPCTSTRlpszFileName=NULL,DWORDdwFlags=OFN_HIDEREADONLY
7、OFN_OVERWRITEPROMPT,LPCTSTRlpszFilter=NULL,CWnd*pParentWnd=NULL);第一個(gè)參數(shù)bOpenFileDialog為TRUE或FALSE。TRUE為打開文件;FALSE為保存文件?! 〉诙€(gè)參數(shù)lpszDefExt為缺省的擴(kuò)展名。 第三個(gè)參數(shù)l
8、pszFileName為顯示在文件名組合框的編輯框的文件名,一般可選NULL第四個(gè)參數(shù)dwFlags為對話框風(fēng)格,一般為OFN_HIDEREADONLY
9、OFN_OVERWRITEPROMPT,即隱藏只讀選項(xiàng)和覆蓋已有文件前提示?! 〉谖鍌€(gè)參數(shù)LpszFilter為下拉列表樞中顯示文件類型?! 〉诹鶄€(gè)參數(shù)pParentWnd一般可選NULL?! ±纾涸谖募愋土斜砜虻木庉嬁蛞@示"可執(zhí)行文件(*.exe)",而在它的下拉列表框中列出"小型可執(zhí)行文件(*.com)、批