在VC++中定制CFileDialog

在VC++中定制CFileDialog

ID:42659503

大小:34.00 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-09-19

在VC++中定制CFileDialog_第1頁(yè)
在VC++中定制CFileDialog_第2頁(yè)
在VC++中定制CFileDialog_第3頁(yè)
在VC++中定制CFileDialog_第4頁(yè)
資源描述:

《在VC++中定制CFileDialog》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、在VC++中定制CFileDialogMFC為我們提供了OFileDialog的簡(jiǎn)單易用,但畢竟“千篇一律,沒(méi)有性格”,在實(shí)際應(yīng)用中往往需要具有個(gè)性特色的用戶界面和個(gè)性化的文件對(duì)話框。要定制文件對(duì)話框,就必須獲得對(duì)文件對(duì)話框中各個(gè)控件的控制。本文將通過(guò)一個(gè)簡(jiǎn)單的例子介紹控制文件對(duì)話框中控件的方法。把文件對(duì)話框的高度比一般情況擴(kuò)大150個(gè)像素,并修改它的標(biāo)題。通過(guò)classwizard生成一個(gè)CFileDialog的派生類CCoolFileDialog,然后編輯CoolFileDialog.cpp中處理WM_INI

2、TDIALOG的OnInitDialog函數(shù)。在indnde.CPP的開(kāi)頭必須加入#CoolFileDialog<dlgs.h>BOOLCoolFileDialog::OnInitDialog()//iExtraSize將按照你所要的確定對(duì)話框的最終尺寸constUINTiExtraSize=150;//要控制的文件對(duì)話框中的控件的個(gè)數(shù)constUINTnControls=8;//獲得指向父對(duì)話框的指針CWnd*wndDlg=GetParent();//獲得對(duì)話框的尺寸RECTRect;wndDlg->GetWi

3、ndowRect(&Rect);//修改對(duì)話框的尺寸wndDlg->GetWindowRect(&Rect);//修改對(duì)話框的尺寸wndDlg->SetWindowPos(NULL,0,0,Rect.right-Rect.left,Rect.bottom-Rect.top+iExtraSize,SWP_NOMOVE);//控件的ID在<dlgs.h>中定義UINTControls[nControls]={stc3,stc2,//兩個(gè)label控件edt1,cmb1,//edit控件和//drop-downbox控

4、件IDOK,IDCANCEL,chx1,//check按鈕lst1//list控件};//獲得對(duì)文件對(duì)話框中各個(gè)控件的控制,并把它們移到新的位置for(inti=0;i<nControls;i++){CWnd*wndCtrl=wndDlg->GetDlgItem(Controls[i]);wndCtrl->GetWindowRect(&Rect);wndDlg->ScreenToClient(&Rect);//根據(jù)對(duì)話框的新的尺寸移動(dòng)各控件。if(Controls[i]!=lst1)wndCtrl->SetWin

5、dowPos(NULL,Rect.left,Rect.top+iExtraSize,0,0,SWP_NOSIZE);else//文件列表框只改變尺寸,而不移動(dòng)位置wndCtrl->SetWindowPos(NULL,0,0,Rect.right-Rect.left,Rect.bottom-Rect.top+iExtraSize,SWP_NOMOVE);//設(shè)置對(duì)話框窗口的標(biāo)題wndDlg->SetWindowText(“打開(kāi)——(大家好):-)”);//Remembertocallthebaseclass,ret

6、urnCFileDialog::OnInitDialog();}程序中必須注意的問(wèn)題是:(1)如果想改變對(duì)話框中控件的尺寸、外觀等屬性,不能直接使用GetDlgItem()函數(shù),因?yàn)檫@些控件屬于被繼承的父對(duì)話框,必須通過(guò)CWnd*wndDlg=GetParent()獲得父對(duì)話框的指針來(lái)實(shí)現(xiàn)。(2)在頭文件〈dlgs.h〉中定義的各控件的ID為:stc3,stc2兩個(gè)label控件(“文件名”和“文件類型”);edt1,cmb1edit控件和drop-downbox控件;IDOK,IDCANCEL“確定”和“取消”

7、按鈕;chx1“以只讀方式打開(kāi)”check按鈕;lst1文件列表框。其他控件的ID也都定義在〈dlgs.h〉中。通過(guò)wndDlg->GetDlgItem(ID)的方法獲得對(duì)文件對(duì)話框中控件的控制,為文件對(duì)話框的定制提供了相當(dāng)大的自由空間。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。