VC界面編程總結(jié).pdf

VC界面編程總結(jié).pdf

ID:51493393

大?。?50.58 KB

頁數(shù):44頁

時間:2020-03-25

VC界面編程總結(jié).pdf_第1頁
VC界面編程總結(jié).pdf_第2頁
VC界面編程總結(jié).pdf_第3頁
VC界面編程總結(jié).pdf_第4頁
VC界面編程總結(jié).pdf_第5頁
資源描述:

《VC界面編程總結(jié).pdf》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、VC界面編程總結(jié)2006-09-2615:52[前言:]擁有美麗的外觀,軟件就成功了一半。界面由控件、工具欄、菜單、窗體等元素組成,對他們進(jìn)行美化就能得到一個美麗的界面。讓控件更醒目在ComboBox中改變列表框的寬度我們經(jīng)常會使用到組合框,而組合框是是有2種功能的--下拉和列表。一般情況下,列表框的寬度和選擇框是一樣寬的,但是我們有些時候確實(shí)很需要把列表框的寬度變大,一便讓我們能更好的看我們要選的東西。為了能有這個功能,我寫了下面的這個函數(shù)。首先得在你的對話框中添加一個的WM_CTLCOLOR的消息句柄,或者使用CComboBox的繼承類,而且在其中添加下面的代碼:HBrus

2、htvisualcombo::onctlcolor(CDC*pdc,CWND*pwnd,UINTnctlcolor){HBrushhbr=ccombobox::onctlcolor(pdc,pwnd,nctlcolor);switch(nctlcolor){casectlcolor_edit:break;casectlcolor_listbox:if(listwidth>0){//newwidthofalistboxisdefinedCRectrect;pwnd->GetWindowRect(&rect);if(rect.Width()!=listwidth){rect.rig

3、ht=rect.left+listwidth;pwnd->MoveWindow(&rect);}}break;}//todo:returnadifferentbrushifthedefaultisnotdesiredreturnhbr;}這樣之后還沒有完全好,你還得刷新一下列表框,那樣才能隨時根據(jù)列表框中的文本的長度,而改變列表框的寬度,要想這樣的話,你還得這樣,你必須掃描列表框中的條目,還得計(jì)算其中文本的長度(通過pdc),這樣你如果再刷新列表框的話,才能一條目中比較長的來顯示。上面的方法是通過WM_CTLCOLOR消息來實(shí)現(xiàn)的,后來才知道在MFC的CComboBox類中有一

4、個函數(shù)也可以實(shí)現(xiàn)同樣的功能,就是:CComboBox::SetDroppedWidth(intwidth);通過這個函數(shù),你可以把寬度設(shè)成你自己喜歡的值,而它的實(shí)際的寬度是下面2個值中的最大值:1.你所設(shè)置的值(就是通過上面的函數(shù)所設(shè)置的值)2.列表框的值如何獲取一個對話控件的指針有兩種方法。其一,調(diào)用CWnd::GetDlgItem,獲取一個CWnd*指針調(diào)用成員函數(shù)。下例調(diào)用GetDlgItem,將返回值傳給一個CSpinButtonCtrl*以便調(diào)用CSpinButtonCtrl::SetPos函數(shù):BOOLCSampleDialog::OnInitDialog(){CD

5、ialog::OnInitDialog();//Getpointertospinbutton.CSpinButtonCtrl*pSpin-(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN);ASSERT_VALID(pSpin);//Setspinbuttonsdefaultposition.pSpin—>SetPos(10);returnTRUE;}其二,可以使用ClassWizard將控件和成員變量聯(lián)系起來。在ClassWizard中簡單地選擇MemberVariables標(biāo)簽,然后選擇AddVariable…按鈕。如果在對話資源編輯器中,按下Ct

6、rl鍵并雙擊控件即可轉(zhuǎn)到AddMemberVariable對話。VC中如何改變對框中控件的顏色在VC中,當(dāng)我們大量的運(yùn)用控件時,往往會為改變控件的顏色所煩惱。因?yàn)閂C不象VB那樣,可以方便地改變對話框及各個控件的顏色,要改變一個控件的顏色比較煩瑣。本文所介紹的就是如何改變在一個對框上的控件的顏色。步驟如下:①先創(chuàng)建一個基于對話框的工程,命名為test,然后在對話框上加入一個ListBox控件。②在testDlg.h中加入一個成員變量:CBrushm_brush;③在OnInitDialog()中,加入m_brush.CreateSolidBrush(RGB(0,0,0);此處設(shè)

7、置的RGB值可以改變ListBox的背景色。為了觀看ListBox中字的顏色變化,我們給ListBox加入幾個字:利用ClassWizard給ListBox加入一個Control類型的成員變量m_ctrlListBox,然后在OnInitDialog()加入如下所示的代碼:m_ctrlListBox.AddString("1號選手");m_ctrlListBox.AddString("2號選手");④點(diǎn)擊ClassWizard,給testDlg加入WM_CTLCOLOR事件,單擊EditCo

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

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

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