卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何解決C 設(shè)置進(jìn)度條顏色不生效的問題

今天有網(wǎng)友問我C 設(shè)置進(jìn)度條顏色不生效的問題,小編在網(wǎng)上查了些資料,再根據(jù)個(gè)人的經(jīng)驗(yàn)總結(jié)。希望能幫助到大家。 Visual C 中的進(jìn)度條功能實(shí)現(xiàn)原理和方法 讀者朋友們可能天天使用Visual

今天有網(wǎng)友問我C 設(shè)置進(jìn)度條顏色不生效的問題,小編在網(wǎng)上查了些資料,再根據(jù)個(gè)人的經(jīng)驗(yàn)總結(jié)。希望能幫助到大家。

Visual C 中的進(jìn)度條功能實(shí)現(xiàn)原理和方法

讀者朋友們可能天天使用Visual C 這個(gè)強(qiáng)大的工具來開發(fā)應(yīng)用程序。在每次加載一個(gè)項(xiàng)目時(shí),為了使項(xiàng)目加載過程不太單調(diào),Visual C 會(huì)在狀態(tài)欄的左半部分出現(xiàn)一個(gè)裝載進(jìn)度條,用來即時(shí)顯示項(xiàng)目的加載進(jìn)度。當(dāng)項(xiàng)目加載完畢后,進(jìn)度條會(huì)隱藏起來。那么這個(gè)功能是如何實(shí)現(xiàn)的呢?

雖然Visual C 中的MFC類提供了標(biāo)準(zhǔn)的進(jìn)度指示器控件,但我們不能直接在狀態(tài)欄中使用這個(gè)控件。為了解決這個(gè)問題,可以創(chuàng)建一個(gè)可重用的CProgStatusBar類,這個(gè)類從CStatusBar派生,用來實(shí)現(xiàn)狀態(tài)欄中的進(jìn)度指示。整個(gè)實(shí)現(xiàn)過程并不復(fù)雜,思路是在狀態(tài)欄創(chuàng)建一個(gè)進(jìn)度指示器控件,將其作為子窗口來對(duì)待,然后根據(jù)不同狀態(tài)來顯示或隱藏進(jìn)度指示器。

在具體實(shí)現(xiàn)CProgStatusBar類的過程中,首先在CProgStatusBar派生類中添加一個(gè)CProgressCtrl類型的數(shù)據(jù)成員m_wndProgBar,然后重載CStatusBar類的兩個(gè)重要成員函數(shù):OnCreate()和OnSize(),最后還要在該類中添加一個(gè)自定義成員函數(shù)OnProgress()。在上述三個(gè)函數(shù)中,OnCreate()負(fù)責(zé)在狀態(tài)欄第一次被創(chuàng)建時(shí)接收控制,并創(chuàng)建進(jìn)度指示器并將它初始化為一個(gè)子窗口。

注意在創(chuàng)建進(jìn)度指示器控件時(shí)沒有使用WS_VISIBLE,因?yàn)槲覀円獙?shí)現(xiàn)的目標(biāo)是僅在裝載文件時(shí)進(jìn)度條才顯示,其余時(shí)間應(yīng)用程序都隱藏它。此外,我們還需要處理父窗口大小改變時(shí)子窗口的尺寸跟隨改變的問題。通常情況下,這個(gè)工作由父窗口的WM_SIZE消息處理函數(shù)OnSize()來完成。

范例程序演示進(jìn)度條的使用

本文提供了一個(gè)范例程序prgsbar,它演示了在編輯視圖中顯示文本文件的加載過程,在界面的狀態(tài)欄中的進(jìn)度指示器模擬顯示文件的加載進(jìn)度。當(dāng)文本加載完畢后,進(jìn)度條會(huì)隱藏起來。由于該程序無法進(jìn)行拷屏操作,所以這里沒有給出狀態(tài)欄中顯示進(jìn)度條的界面效果圖,讀者可以運(yùn)行本書所帶光盤中的程序代碼觀看相應(yīng)的效果。

標(biāo)簽: