共用方式為


CDockState 類別

序列化的 CObject 類別,這個類別會在持續性記憶體 (檔案) 中載入、卸載或清除一個或多個停駐控制列的狀態。

語法

class CDockState : public CObject

成員

公用方法

名稱 描述
CDockState::Clear 清除停駐狀態資訊。
CDockState::GetVersion 擷取預存列狀態的版本號碼。
CDockState::LoadState 從登錄或 擷取狀態資訊。INI 檔案。
CDockState::SaveState 將狀態資訊儲存至登錄或 INI 檔案。

公用資料成員

名稱 描述
CDockState::m_arrBarInfo 預存停駐狀態資訊的指標陣列,每個控制列都有一個專案。

備註

停駐狀態包含列的大小和位置,以及其是否停駐。 擷取儲存的停駐狀態時, CDockState 會檢查列的位置,如果目前畫面設定看不到列, CDockState 則會調整列的位置,使其可見。 的主要目的是 CDockState 保留數個控制列的整個狀態,並允許該狀態儲存並載入登錄,也就是應用程式的 。INI 檔案或二進位格式做為物件內容的一 CArchive 部分。

列可以是任何可停駐的控制列,包括工具列、狀態列或對話方塊列。 CDockState 物件是透過 CArchive 物件寫入和讀取檔案。

CFrameWnd::GetDockState 會擷取所有框架視窗 CControlBar 物件的狀態資訊,並將其放入 物件中 CDockState 。 然後,您可以使用 Serialize CDockState::SaveState 將物件的內容 CDockState 寫入儲存體 。 如果您稍後想要在框架視窗中還原控制列的狀態,您可以使用 或 CDockState::LoadState 載入狀態 Serialize ,然後使用 CFrameWnd::SetDockState 將儲存的狀態套用至框架視窗的控制列。

如需停駐控制列的詳細資訊,請參閱控制列 、工具列:停駐和浮動 ,以及 框架視窗 一文 。

繼承階層架構

CObject

CDockState

需求

標頭: afxadv.h

CDockState::Clear

呼叫此函式,以清除儲存在 物件中的所有 CDockState 停駐資訊。

void Clear();

備註

這不僅包括列是否停駐,也包括列的大小和位置,以及是否可見。

CDockState::GetVersion

呼叫此函式以擷取預存列狀態的版本號碼。

DWORD GetVersion();

傳回值

如果預存列資訊比目前長條狀態還舊,則為 1;如果預存列資訊與目前長條圖狀態相同,則為 2。

備註

版本支援可讓修訂的列加入新的永續性屬性,但仍能夠偵測及載入舊版列所建立的持續性狀態。

CDockState::LoadState

呼叫此函式,從登錄或 擷取狀態資訊。INI 檔案。

void LoadState(LPCTSTR lpszProfileName);

參數

lpszProfileName
指向 Null 終止的字串,指定初始化檔案中的區段名稱,或儲存狀態資訊之 Windows 登錄中的機碼。

備註

設定檔名稱是應用程式的 區段。INI 檔案或包含橫條狀態資訊的登錄。 您可以將控制列狀態資訊儲存至登錄或 。INI 檔案與 SaveState

CDockState::m_arrBarInfo

CPtrArray物件,此物件是物件中儲存狀態資訊之每個控制列之預存控制項列資訊的 CDockState 指標陣列。

CPtrArray m_arrBarInfo;

CDockState::SaveState

呼叫此函式,將狀態資訊儲存至登錄或 。INI 檔案。

void SaveState(LPCTSTR lpszProfileName);

參數

lpszProfileName
指向 Null 字串,指定初始化檔案中的區段名稱,或儲存狀態資訊之 Windows 登錄中的機碼。

備註

設定檔名稱是應用程式的 區段。INI 檔案或包含控制列狀態資訊的登錄。 SaveState 也會儲存目前的螢幕大小。 您可以從登錄或 擷取控制列資訊。INI 檔案與 LoadState

另請參閱

CObject 類別
階層架構圖表