CMDIFrameWndEx クラス
更新 : 2007 年 11 月
このトピックは作成中です。
CMDIFrameWnd (Windows のマルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) のフレーム ウィンドウ) の機能を拡張します。
class CMDIFrameWndEx : public CMDIFrameWnd
メンバ
パブリック メソッド
名前 |
説明 |
---|---|
アクティブな項目のレイアウトを再計算します。 |
|
|
|
ペインをドッキング マネージャに登録します。 |
|
境界線を使用できるようにクライアント領域を縮小します。 |
|
すべてのドッキングされるペインのレイアウトを再計算します。 |
|
MDI タブ機能または MDI タブ付きグループ機能が有効かどうかを判断します。 |
|
フレーム ウィンドウでドッキング ペインをタブ付きドキュメントに変換できるかどうかを判定するために、フレームワークによって呼び出されます。 |
|
指定したドッキング ペインをタブ付きドキュメントに変換します。 |
|
子ドキュメント ウィンドウを作成します。 |
|
新しいウィンドウを作成するために、フレームワークによって呼び出されます。 |
|
CMDIFrameWndEx::CreateObject |
このクラス型の動的インスタンスを作成するために、フレームワークによって使用されます。 |
指定されたペインをフレーム ウィンドウにドッキングします。 |
|
ペインを別のペインの左側にドッキングします。 |
|
ペインがメイン フレーム ウィンドウの指定した辺にドッキングされている場合に、ペインの自動非表示モードを有効にします。 |
|
MDI フレーム ウィンドウに属するペインのドッキングを有効にします。 |
|
|
|
|
|
|
|
MDI タブ付きグループ機能を有効または無効にします。 |
|
MDI タブ機能を有効または無効にします。有効にすると、フレーム ウィンドウに各 MDI 子ウィンドウのタブが表示されます。 |
|
ユーザーが現在のタブを閉じたときに、最後にアクティブだったタブをアクティブにするかどうかを指定します。 |
|
アプリケーション ペインのリストを表示するポップアップ ペイン メニューの自動的な作成と管理を有効または無効にします。. |
|
CMFCWindowsManagerDialog ダイアログ ボックスを呼び出すコマンド ID を持つメニュー項目を挿入します。 |
|
現在表示されているポップアップ メニューへのポインタを返します。 |
|
指定したコントロール ID を持つペインへのポインタを返します。 |
|
MDI フレーム ウィンドウの共有リソースの ID を返します。 |
|
MDI タブ付きウィンドウの一覧を返します。 |
|
下線付きのタブ付きウィンドウへの参照を返します。 |
|
MDI タブ付きグループ機能が有効である場合に、どのコンテキスト メニュー項目が有効かを示すフラグの組み合わせを返します。 |
|
フレーム ウィンドウに関連付けられているメニュー バー オブジェクトへのポインタを返します。 |
|
|
|
ティアオフ状態になっている CPane 派生オブジェクトのリストを返します。 |
|
CMDIFrameWndEx::GetThisClass |
このクラス型に関連付けられた CRuntimeClass オブジェクトへのポインタを取得するために、フレームワークによって呼び出されます。 |
|
|
指定したペインをドッキング マネージャに登録します。 |
|
|
|
MDI タブ付きグループ機能が有効かどうかを判定します。 |
|
指定したタブ付きウィンドウが、MDI タブ付きグループに属するウィンドウの一覧にあるかどうかを判断します。 |
|
フレーム ウィンドウにメニュー バーがあるかどうかを判定します。 |
|
指定された点がドッキング サイトの近くにあるかどうかを判定します。 |
|
|
|
リソース情報からフレーム ウィンドウを作成します。(CMDIFrameWnd::LoadFrame をオーバーライドします。) |
|
MDI タブ付きグループの指定されたレイアウト、および以前に開いたドキュメントの一覧を読み込みます。 |
|
現在アクティブなタブ付きウィンドウから、次または前のタブ付きグループにアクティブなタブを移動します。 |
|
1 つのウィンドウを持つ新しいタブ付きグループを作成します。 |
|
埋め込み先編集の有効化時に、フレーム ウィンドウの境界領域を調整します。 |
|
ドッキングできるペインの閉じるボタンをユーザーがクリックしたときに、フレームワークによって呼び出されます。 |
|
ユーザーが浮動ミニフレーム ウィンドウの 閉じるボタンをクリックすると、フレームワークによって呼び出されます。 |
|
アクティブなポップアップ メニューが WM_DESTROY メッセージを処理するときに、フレームワークによって呼び出されます。 |
|
コマンド メッセージの転送先を決定してディスパッチし、さらにコマンド ユーザー インターフェイス オブジェクトを更新するために、フレームワークによって呼び出されます。(CMDIFrameWnd::OnCmdMsg をオーバーライドします。) |
|
メニュー項目に関連付けられたイメージが描画されるときに、フレームワークによって呼び出されます。 |
|
CMFCPopupMenu が WM_PAINT メッセージを処理するときにフレームワークによって呼び出されます。 |
|
MDI フレーム ウィンドウが WM_ERASEBKGND メッセージを処理するときに、フレームワークによって呼び出されます。 |
|
CMFCToolBarButton オブジェクトが WM_NCHITTEST メッセージを処理するときに、フレームワークによって呼び出されます。 |
|
ミニフレーム ウィンドウを移動するために、フレームワークによって呼び出されます。 |
|
アプリケーションのメイン フレーム ウィンドウを印刷プレビュー モードに設定します。(CFrameWnd::OnSetPreviewMode をオーバーライドします。) |
|
[簡易カスタマイズ] ペインがアクティブになるときに、フレームワークによって呼び出されます。 |
|
いずれかのタブにコンテキスト メニューを表示する必要があるときに、フレームワークによって呼び出されます。(MDI タブ付きグループについてのみ有効です。) |
|
ペインを表示または非表示にするために、フレームワークによって呼び出されます。 |
|
ポップアップ メニューがアクティブになると、フレームワークによって呼び出されます。 |
|
|
|
ティアオフ バーのあるメニューをアクティブにすると、フレームワークによって呼び出されます。 |
|
フレーム メニューを更新するために、フレームワークによって呼び出されます。(CMDIFrameWnd::OnUpdateFrameMenu をオーバーライドします。) |
|
指定した点を含むドッキング ペインを返します。 |
|
CMDIFrameWndEx::PreTranslateMessage |
ウィンドウ メッセージが TranslateMessage Windows 関数および DispatchMessage Windows 関数へディスパッチされる前に、そのメッセージを変換するために CWinApp クラスで使用されます。(CMDIFrameWnd::PreTranslateMessage をオーバーライドします。) |
フレーム ウィンドウのレイアウトを再計算するために、フレームワークによって呼び出されます。(CFrameWnd::RecalcLayout をオーバーライドします。) |
|
ペインの登録を解除し、ドッキング マネージャから削除します。 |
|
MDI タブ付きグループの現在のレイアウト、および以前に開いたドキュメントの一覧を保存します。 |
|
|
|
ダミー項目を検索し、そのダミー項目を、指定されたユーザー定義項目に置き換えることによって、ツール バー オブジェクトを変更します。 |
|
|
|
指定されたペインの表示と非表示を切り替えます。 |
|
CMFCWindowsManagerDialog ボックスを作成して開きます。 |
|
指定したタブ付きドキュメントをドッキング ペインに変換します。 |
|
|
|
MDI タブ付きペインごとにアイコンを設定します。 |
|
WinHelp アプリケーションまたはコンテキスト ヘルプを起動するために、フレームワークによって呼び出されます。(CWnd::WinHelp をオーバーライドします。) |
データ メンバ
名前 |
説明 |
---|---|
ドッキング ペインを MDI 子ウィンドウに変換できるかどうかを判定します。 |
|
MDI 子ウィンドウの再描画を最適化する処理の有効と無効を切り替えます。 |
解説
MDI アプリケーションで拡張カスタマイズ機能を利用するには、CMDIFrameWnd ではなく、CMDIFrameWndEx からアプリケーションの MDI フレーム ウィンドウ クラスを派生します。
使用例
CMDIFrameWndEx からクラスを派生する例を次に示します。このコード スニペットは、「DrawClient サンプル : MFC リボン ベースの OLE オブジェクト描画アプリケーション」からのものです。
class CMainFrame : public CMDIFrameWndEx
{
DECLARE_DYNAMIC(CMainFrame)
public:
struct XStyle
{
COLORREF clrFill;
COLORREF clrLine;
};
public:
CMainFrame();
// Attributes
public:
CMFCRibbonBar* GetRibbonBar() {return &m_wndRibbonBar;}
// Operations
public:
void UpdateUI(CDrawView* pCurrView);
void UpdateContextTab(CDrawView* pCurrView);
void UpdateContextTabFromObject(CDrawObjList& list);
COLORREF GetColorFromColorButton(int nButtonID);
int GetWeightFromLineWeight(int nButtonID);
BOOL GetStyleFromStyles(XStyle& style);
void SetRibbonContextCategory(UINT uiCategoryID);
void ActivateRibbonContextCategory(UINT uiCategoryID);
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// control bar embedded members
CMFCRibbonStatusBar m_wndStatusBar;
CMFCRibbonBar m_wndRibbonBar;
CMFCRibbonApplicationButton m_MainButton;
// panel images
CMFCToolBarImages m_PanelImages;
// Document colors for demo:
CList<COLORREF,COLORREF> m_lstMainColors;
CList<COLORREF,COLORREF> m_lstAdditionalColors;
CList<COLORREF,COLORREF> m_lstStandardColors;
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnAppLook(UINT id);
afx_msg void OnUpdateAppLook(CCmdUI* pCmdUI);
afx_msg void OnWindowManager();
afx_msg void OnMdiMoveToNextGroup();
afx_msg void OnMdiMoveToPrevGroup();
afx_msg void OnMdiNewHorzTabGroup();
afx_msg void OnMdiNewVertGroup();
afx_msg void OnMdiCancel();
afx_msg LRESULT OnRibbonCustomize(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnHighlightRibbonListItem(WPARAM wp, LPARAM lp);
afx_msg void OnToolsOptions();
afx_msg void OnDummy();
afx_msg void OnSysColorChange();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
virtual BOOL OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop);
virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);
void ShowOptions(int nPage);
void CreateDocumentColors();
private:
BOOL CreateRibbonBar();
BOOL CreateStatusBar();
void InitMainButton();
void InitHomeCategory();
void InitViewCategory();
void InitTabButtons();
void AddContextTab_Format();
void AdjustObjectSubmenu(CMFCPopupMenu* pMenuPopup);
void UpdateStatusBarCountPane(int nID, CString strText, int nCount);
UINT m_nAppLook;
};
継承階層
必要条件
ヘッダー : afxMDIFrameWndEx.h