CFrameWnd 類別

處理 Windows 提供單一文件介面 (SDI) 視窗與成員一起重疊或快顯框架視窗, (SDI) 的功能。

class CFrameWnd : public CWnd

Members

公用建構函式

名稱

描述

CFrameWnd::CFrameWnd

建構 CFrameWnd 物件。

公用方法

名稱

描述

CFrameWnd::ActivateFrame

將框架可見和使用者。

CFrameWnd::BeginModalState

將框架視窗為強制回應。

CFrameWnd::Create

呼叫以建立和初始化框架視窗與 CFrameWnd 物件。

CFrameWnd::CreateView

會在從 CView並非衍生的框架中的檢視。

CFrameWnd::DockControlBar

內建的控制列。

CFrameWnd::EnableDocking

允許將控制列停駐。

CFrameWnd::EndModalState

關閉框架視窗的強制回應狀態中。 啟用 BeginModalState停用的所有視窗。

CFrameWnd::FloatControlBar

浮動的控制列。

CFrameWnd::GetActiveDocument

傳回現用 CDocument 物件。

CFrameWnd::GetActiveFrame

傳回現用 CFrameWnd 物件。

CFrameWnd::GetActiveView

傳回現用 CView 物件。

CFrameWnd::GetControlBar

擷取控制項的資料行。

CFrameWnd::GetDockState

擷取框架視窗的內建狀態。

CFrameWnd::GetMenuBarState

擷取功能表的顯示狀態在目前 MFC 應用程式中。

CFrameWnd::GetMenuBarVisibility

表示 功能表上的預設行為是在目前 MFC 應用程式中是否隱藏或可見。

CFrameWnd::GetMessageBar

傳回指向屬於框架視窗的狀態列。

CFrameWnd::GetMessageString

擷取訊息與命令 ID. 對應

CFrameWnd::GetTitle

擷取相關控制項的標題列。

CFrameWnd::InitialUpdateFrame

在要呼叫的框架視窗中產生屬於所有檢視的 OnInitialUpdate 成員函式。

CFrameWnd::InModalState

傳回表示框架視窗是否在強制回應狀態。

CFrameWnd::IsTracking

判斷分隔列目前是否已移動。

CFrameWnd::LoadAccelTable

呼叫載入快速鍵對應表。

CFrameWnd::LoadBarState

還原控制列設定呼叫。

CFrameWnd::LoadFrame

動態建立從資源資訊的框架視窗上呼叫。

CFrameWnd::NegotiateBorderSpace

交涉在框架視窗的框線空間。

CFrameWnd::OnBarCheck

呼叫時,都會作用於指定的控制項執行。

CFrameWnd::OnContextHelp

就地項目的控制代碼 SHIFT+F1 說明。

CFrameWnd::OnSetPreviewMode

設定應用程式的主框架視窗至預覽列印模式。

CFrameWnd::OnUpdateControlBarMenu

呼叫由架構,在相關的功能表更新。

CFrameWnd::RecalcLayout

變更物件的位置 CFrameWnd 控制列。

CFrameWnd::SaveBarState

儲存控制項的資料行設定呼叫。

CFrameWnd::SetActivePreviewView

將指定的檢視是豐富預覽的現用檢視表。

CFrameWnd::SetActiveView

若要設定現用 CView 物件。

CFrameWnd::SetDockState

停駐在主視窗的框架視窗上呼叫。

CFrameWnd::SetMenuBarState

將功能表的顯示狀態中顯示目前的 MFC 應用程式中的隱藏或。

CFrameWnd::SetMenuBarVisibility

將功能表的預設行為是在目前 MFC 應用程式中是隱藏或可見。

CFrameWnd::SetMessageText

將其中一個標準狀態列的文字。

CFrameWnd::SetProgressBarPosition

設定顯示的 Windows 7 進度列目前位置在工作列中。

CFrameWnd::SetProgressBarRange

設定在工作列上顯示的 Windows 7 進度列的範圍。

CFrameWnd::SetProgressBarState

設定在工作列按鈕所顯示的進度指示器的類型和狀態。

CFrameWnd::SetTaskbarOverlayIcon

多載。 適用於覆疊工作列按鈕表示應用程式狀態或通知給使用者。

CFrameWnd::SetTitle

將相關控制項的標題列。

CFrameWnd::ShowControlBar

顯示控制項上呼叫。

CFrameWnd::ShowOwnedWindows

顯示為 CFrameWnd 物件的子系的所有視窗。

受保護的方法

名稱

描述

CFrameWnd::OnCreateClient

建立框架的用戶端視窗。

CFrameWnd::OnHideMenuBar

會在目前的 MFC 應用程式的功能表之前隱藏。

CFrameWnd::OnShowMenuBar

會在目前的 MFC 應用程式的 功能表上顯示。

公用資料成員

名稱

描述

CFrameWnd::m_bAutoMenuEnable

自動的控制項啟用和停用功能表項目的功能。

CFrameWnd::rectDefault

表示建立 CFrameWnd 物件允許視窗選取視窗的初始大小和位置時,請將這個靜態 CRect 做為參數。

備註

若要建置應用程式的有用框架視窗,請從 CFrameWnd衍生一個類別。 將成員變數加入衍生類別加入儲存資料的特定應用程式。 實作的訊息處理常式 (成員函式和訊息對應在衍生類別中指定的情形,當訊息導向至視窗。

有三種方式建構框架視窗:

  • 使用 建立,請直接建構它。

  • 使用 LoadFrame,請直接建構它。

  • 使用資料範本,請間接建構它。

在呼叫或之前, 建立LoadFrame使用 C++ new 運算子,必須建構堆積中的框架視窗物件。 在呼叫 建立之前,您也可以註冊視窗類別的 AfxRegisterWndClass 全域函式將框架的圖示和類別樣式。

使用 建立 成員函式是透過架構的建立參數做為直接引數。

LoadFrame建立需要較少引數和從資源擷取其大部分預設值,包括框架的標題、圖示、快速鍵對應表和功能表。 若要存取由 LoadFrame,這些資源必須具有相同的資源 ID (例如, IDR_MAINFRAME)。

CFrameWnd 物件包含檢視和文件時,便會由架構間接建立而不是直接由程式設計人員。 CDocTemplate 物件組織架構的建立,包含之檢視的建立和檢視的連結至適當的資料。 CDocTemplate 建構函式的參數指定涉及三個類別的 CRuntimeClass (文件、架構和檢視)。 這個架構可用來 CRuntimeClass 物件動態建立新的框架 (Frame),指定由使用者 (例如,藉由使用檔案的新命令或多重文件介面 (MDI) (MDI) 視窗新命令)。

必須宣告 CFrameWnd 從取得的框架視窗類別與 DECLARE_DYNCREATE 為了頂端 RUNTIME_CLASS 機制以正確地運作。

在 [ CFrameWnd 視窗的一般應用程式中包含預設實作會執行主視窗的下列功能:

  • CFrameWnd 框架視窗記錄視窗是使用中視窗或目前輸入焦點的獨立的目前使用中的檢視。 當框架重新啟動時,現用檢視藉由呼叫 CView::OnActivateView告知。

  • 命令訊息和許多通用架構通知訊息,包含 OnSetFocus處理的組態, OnHScrollCWndOnVScroll 函式而言,是一 CFrameWnd 框架視窗委派至目前使用中的檢視。

  • 目前作用中檢視 (或在 MDI 架構情況下的目前作用中的 MDI 子框架視窗) 可以判斷框架視窗的標題。 這項功能可以透過關閉框架視窗的 FWS_ADDTOTITLE 樣式位元停用。

  • CFrameWnd 框架視窗處理將控制列、檢視和其他子視窗在框架視窗的工作區中。 框架視窗也會進行閒置時間更新工具列和其他控制項的按鈕。 CFrameWnd 框架視窗也有一個命令的預設實作來切換按鈕的這個工具列和狀態列。

  • CFrameWnd 框架視窗處理主功能表列。 當快顯功能表時,框架視窗使用 UPDATE_COMMAND_UI 機制來判斷應該啟用、停用,或是檢查哪些功能表項目。 當使用者選取功能表項目時,框架視窗更新訊息字串的狀態列該命令的。

  • CFrameWnd 框架視窗會自動轉譯鍵盤快速鍵的選擇性快速鍵對應表。

  • CFrameWnd 框架視窗會對即時線上說明使用的選擇性說明 ID 設定為 LoadFrame 。 框架視窗是 semimodal 狀態的主要管弦開放式小組例如即時線上說明 (SHIFT+F1) 和預覽列印模式。

  • CFrameWnd 框架視窗將會開啟在框架視窗拖曳檔案管理員和置放檔案。 如果副檔名並使向應用程式註冊,框架視窗回答發生的動態資料交換 (DDE) (DDE) 開放式需求,則當使用者開啟文件管理員的資料檔案,或是 ShellExecute Windows 函式呼叫時。

  • 如果框架視窗是主應用程式視窗 ( CWinThread::m_pMainWnd),也就是,當使用者關閉應用程式時,框架視窗會提示使用者儲存修改過的資料 ( OnCloseOnQueryEndSession)。

  • 如果框架視窗是主應用程式視窗,框架視窗執行的 WinHelp 內容。 如果適用於這個應用程式,說明啟動關閉框架視窗都會關閉 WINHELP.EXE。

請不要使用 C++ 刪除 運算子終結框架視窗。 請改用 CWnd::DestroyWindow。 在終結, PostNcDestroyCFrameWnd 實作要刪除 C++ 物件視窗。 當使用者關閉框架視窗,預設 OnClose 管理員會呼叫 DestroyWindow

如需 CFrameWnd的資訊,請參閱 框架視窗

繼承階層架構

CObject

CCmdTarget

CWnd

CFrameWnd

需求

**標頭檔:**afxwin.h

請參閱

參考

CWnd 類別

階層架構圖表

CWnd 類別

CMDIFrameWnd 類別

CMDIChildWnd 類別

CView 類別

CDocTemplate 類別

CRuntimeClass 結構