成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

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

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

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

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

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

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

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

范例程序演示進度條的使用

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

標(biāo)簽: