6.6.1 CPropertySheet类
6.6.1 CPropertySheet類
http://book.51cto.com??2007-08-31 13:21 ?李建華 王占全 ?電子工業出版社博文視點 ?我要評論(0)- 摘要:《Visual C++編程從基礎到實踐》第3章主要介紹的了MFC的概念及一些編程的基礎。適合于Visual C++ 6.0的初學者和使用Visual C++從事開發的程序員;對于具有一定Visual C++編程經驗的讀者,也具有很好的參考價值。本文主要為CPropertySheet類。
- 標簽:CPropertySheet類??編程??Visual??C++??Visual C++編程從基礎到實踐
- 限時報名參加“甲骨文全球大會·2010·北京”及“JavaOne和甲骨文開發者大會2010”
?
6.6.1? CPropertySheet類
CPropertySheet類是CWnd類的一個派生類。CProportySheet類的對象作為屬性頁對話框的窗口框架出現,主要實現管理各個屬性頁面的作用。
雖然CPropertySheet類不是CDialog類的派生類,但是在使用該類時卻和CDialog類非常相似:首先運行CPropertySheet類的構造函數,然后調用DoModal函數實現一個模態屬性頁對話框,或者調用Creat函數實現一個非模態屬性頁對話框,CPropertySheet類的構造函數有兩個。即CPropertySheet::Construct函數和CPropertySheet::CPropertySheet函數。在屬性頁對話框中進行數據交換和在普通對話框中進行數據交換類似,只是成員變量通常作為CPropertyPage類或其派生類的成員變量。
CPropertysheet類的主要成員如下。
m_psh
說明:m_psh是PROPSHEETHEADER結構類型的數據成員,主要定義屬性頁的框架和關于頁面的信息。
CPropertySheet
其原型為:
?
說明:作為CPropertySheet類的構造函數之一,可以指定父級窗口,選擇當前頁面和設置屬性頁的標題。
Construct
其原型為:
?
說明:另一個CPropertySheet類的構造函數。當定義CPropertySheet類的對象而沒有調用構造函數時,比如定義了CPropertySheet類的對象數組時,必須顯式地調用Construct構造函數。
GetActiveIndex
其原型為:
int GetActiveIndex( ) const;
說明:用來獲得屬性框中當前激活頁面的索引值。可以將返回值作為GetPage函數的參數。
GetPageIndex
其原型為:
int GetPageIndex( CPropertyPage* pPage ) const;?
說明:用來獲得指定屬性頁的索引。
GetPageCount
其原型為:
int GetPageCount( );
說明:用來獲得屬性頁對話框中當前屬性頁的個數,不包括已經定義了但是沒有調用AddPage函數的屬性頁。
GetPage?
其原型為:
CPropertyPage* GetPage( int nPage ) const;?
說明:用來返回指定索引的屬性頁的指針。
GetActivePage?
其原型為:
CPropertyPage* GetActivePage( ) const;
說明:用來返回當前激活的屬性頁的指針。
SetActivePage?
其原型為:
BOOL SetActivePage( int nPage );
BOOL SetActivePage( CPropertyPage* pPage );
說明:用來將指定索引號或指針的屬性頁設置為激活頁。
SetTitle?
其原型為:
void SetTitle( LPCTSTR lpszText, UINT nStyle = 0 );
說明:用來將設置屬性頁對話框的標題。
GetTabControl?
其原型為:
CTabCtrl* GetTabControl( );
說明:返回一個指向CTabCtrl類的指針。比如在初始化過程中想往標簽中增加位圖時就需要調用GetTabControl函數。
SetFinishText?
其原型為:
void SetFinishText( LPCTSTR lpszText );
說明:在向導對話框中,當完成了所有操作時,在“完成”(Finish)按鈕上設置需要顯示的文字,同時隱藏“上一頁”( Back)按鈕和“下一頁”( Next)按鈕。
SetWizardButtons?
其原型為:
void SetWizardButtons( DWORD dwFlags );?
說明:在向導對話框中設置按鈕的顯示方式.必須在調用DoModal函數之后才可以調用SetWizardButtons函數。在屬性頁中可以通過調用CPropertyPage::OnSetActive函數來判斷。
SetWizardMode?
其原型為:
void SetWizardMode( );
說明:設置屬性頁對話框為向導對話框模式。應該在調用DoModal函數之前調用SetWizardMode函數。
DoModal?
其原型為:
virtual int DoModal( );?
說明:顯示一個模態屬性頁。對于一般屬性頁,返回值為IDOKIDCANCEL或者0;對于向導對話框返回值為ID_WIZFINISH或IDCANCEL。
Create?
其原型為:
BOOL Create( CWnd* pParentWnd = NULL, DWORD dwStyle = (DWORD)–1, DWORD dwExStyle = 0 );
說明:顯示一個非模態屬性頁。
AddPage?
其原型為:
void AddPage( CPropertyPage *pPage );
說明:往屬性框中增加屬性頁。按照調用AddPage函數的順序從左至右地顯示屬性頁。在調用AddPage函數后,實際上并沒有為該頁創建相應的窗口,只有當屬性頁被激活時才為該屬性頁創建窗口。
在調試程序的時候,如果屬性頁對話框可以正常地顯示并不說明所有屬性頁都正常,應該逐次激活每一個屬性頁并測試效果。當某個屬性頁被選中時出現問題,往往是在該屬性頁的初始化過程中導致的。
RemovePage?
其原型為:
void RemovePage( CPropertyPage *pPage );
void RemovePage( int nPage );
說明:從屬性框中去除一個屬性頁。去除一個屬性頁的同時刪除與之關聯的窗口,但是CPropertyPage類的對象還存在。只有在屬性框窗口被關閉后,CPropertyPage類的對象才被刪除。
PressButton?
其原型為:
BOOL PressButton( int nButton );
說明:標識屬性框中的特定按鈕被按下。
EndDialog?
其原型為:
void EndDialog( int nEndID );
說明:關閉屬性框。
| 回書目???上一節???下一節 |
總結
以上是生活随笔為你收集整理的6.6.1 CPropertySheet类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 自动登陆的简单方法
- 下一篇: VC文件扩展名解读大全