CPane クラス
CPane
クラスは、CControlBar クラスの機能強化です。 既存の MFC プロジェクトをアップグレードする場合は、すべての CControlBar
を CPane
に置き換えます。
class CPane : public CBasePane
名前 | 説明 |
---|---|
CPane::~CPane |
デストラクターです。 |
名前 | 説明 |
---|---|
CPane::AdjustSizeImmediate | ウィンドウのレイアウトを直ちに再計算します。 |
CPane::AllocElements | 内部使用のためにストレージを割り当てます。 |
CPane::AllowShowOnPaneMenu | アプリケーションの実行時に生成されたペインの一覧にペインが表示されるかどうかを指定します。 |
CPane::CalcAvailableSize | 指定した四角形と現在のウィンドウの四角形のサイズの差を計算します。 |
CPane::CalcInsideRect | 罫線とグリッパーを考慮して、ペインの内側の四角形を計算します。 |
CPane::CalcRecentDockedRect | 最近ドッキングされた四角形を計算します。 |
CPane::CalcSize | ウィンドウのサイズを計算します。 |
CPane::CanBeDocked | 指定した基本ペインにペインをドッキングできるかどうかを指定します。 |
CPane::CanBeTabbedDocument | ウィンドウをタブ付きドキュメントに変換できるかどうかを指定します。 |
CPane::ConvertToTabbedDocument | ドッキング可能なウィンドウをタブ付きドキュメントに変換します。 |
CPane::CopyState | ペインの状態をコピーします。 ( をオーバーライドしますCBasePane::CopyState.) |
CPane::Create | コントロール バーを作成し、 CPane オブジェクトにアタッチします。 |
CPane::CreateDefaultMiniframe | フローティング ウィンドウのミニフレーム ウィンドウを作成します。 |
CPane::CreateEx | コントロール バーを作成し、 CPane オブジェクトにアタッチします。 |
CPane::CreateObject |
このクラス型の動的インスタンスを作成するために、フレームワークで使用されます。 |
CPane::D ockByMouse | マウス ドッキング メソッドを使用してペインをドッキングします。 |
CPane::D ockPane | フローティング ペインを基本ペインにドッキングします。 |
CPane::D ockPaneStandard | アウトライン (標準) ドッキングを使用してペインをドッキングします。 |
CPane::D ockToFrameWindow | ドッキング可能なウィンドウをフレームにドッキングします。 ( CBasePane::DockToFrameWindow をオーバーライドします)。 |
CPane::D oesAllowSiblingBars | 現在のペインがドッキングされているのと同じ行に別のペインをドッキングできるかどうかを示します。 |
CPane::FloatPane | ウィンドウを浮動表示します。 |
CPane::GetAvailableExpandSize | ウィンドウが展開できる量をピクセル単位で返します。 |
CPane::GetAvailableStretchSize | ウィンドウが縮小できる量をピクセル単位で返します。 |
CPane::GetBorders | ウィンドウの罫線の幅を返します。 |
CPane::GetClientHotSpot | ウィンドウの hot スポット を返します。 |
CPane::GetDockSiteRow | ペインがドッキングされているドッキング行を返します。 |
CPane::GetExclusiveRowMode | ペインが排他行モードであるかどうかを判断します。 |
CPane::GetHotSpot | 基になる CMFCDragFrameImpl オブジェクトに格納されているホット スポットを返します。 |
CPane::GetMinSize | ウィンドウの最小許容サイズを取得します。 |
CPane::GetPaneName | ウィンドウのタイトルを取得します。 |
CPane::GetResizeStep |
内部使用。 |
CPane::GetThisClass |
このクラス型に関連付けられている CRuntimeClass オブジェクトへのポインターを取得するためにフレームワークによって使用されます。 |
CPane::GetVirtualRect | ウィンドウの 仮想四角形 を取得します。 |
CPane::IsChangeState | ウィンドウの移動中に、このメソッドは、他のペイン、ドッキング行、ミニフレーム ウィンドウを基準にしてペインの位置を分析し、適切なAFX_CS_STATUS値を返します。 |
CPane::IsDragMode | ウィンドウをドラッグするかどうかを指定します。 |
CPane::IsInFloatingMultiPaneFrameWnd | ペインが複数ウィンドウ フレーム ウィンドウ内にあるかどうかを指定します。 ( CBasePane::IsInFloatingMultiPaneFrameWnd をオーバーライドします)。 |
CPane::IsLeftOf | ペインが指定した四角形の左 (または上) にあるかどうかを決定します。 |
CPane::IsResizable | ウィンドウのサイズを変更できるかどうかを決定します。 ( をオーバーライドしますCBasePane::IsResizable.) |
CPane::IsTabbed | タブ付きウィンドウのタブ コントロールにペインが挿入されているかどうかを確認します。 ( をオーバーライドしますCBasePane::IsTabbed.) |
CPane::LoadState | レジストリからペインの状態を読み込みます。 ( をオーバーライドしますCBasePane::LoadState.) |
CPane::MoveByAlignment | ウィンドウと仮想四角形を指定した量だけ移動します。 |
CPane::MovePane | ウィンドウを指定した四角形に移動します。 |
CPane::OnAfterChangeParent | ウィンドウの親が変更されたときにフレームワークによって呼び出されます。 |
CPane::OnBeforeChangeParent | ウィンドウの親が変更されようとしているときにフレームワークによって呼び出されます。 |
CPane::OnPressCloseButton | ユーザーがウィンドウのキャプションの [閉じる] ボタンを選択すると、フレームワークによって呼び出されます。 |
CPane::OnProcessDblClk |
内部使用。 |
CPane::OnShowControlBarMenu | 特殊ウィンドウ メニューが表示されるときにフレームワークによって呼び出されます。 |
CPane::OnShowControlBarMenu | 特殊ウィンドウ メニューが表示されるときにフレームワークによって呼び出されます。 |
CPane::PrepareToDock |
内部使用。 |
CPane::RecalcLayout | ウィンドウのレイアウト情報を再計算します。 ( をオーバーライドしますCBasePane::RecalcLayout.) |
CPane::SaveState | ウィンドウの状態をレジストリに保存します。 ( をオーバーライドしますCBasePane::SaveState.) |
CPane::SetActiveInGroup | ペインにアクティブとしてフラグを設定します。 |
CPane::SetBorders | ウィンドウの罫線の値を設定します。 |
CPane::SetClientHotSpot | ウィンドウのホット スポットを設定します。 |
CPane::SetDockState | ペインのドッキング状態情報を復元します。 |
CPane::SetExclusiveRowMode | 排他行モードを有効または無効にします。 |
CPane::SetMiniFrameRTC | 既定のミニフレーム ウィンドウのランタイム クラス情報を設定します。 |
CPane::SetMinSize | ウィンドウの最小許容サイズを設定します。 |
CPane::SetVirtualRect | ウィンドウの 仮想四角形 を設定します。 |
CPane::StretchPaneDeferWndPos | ドッキング スタイルに基づいて、ウィンドウを垂直方向または水平方向に引き伸ばします。 |
CPane::ToggleAutoHide | 自動非表示モードを切り替えます。 |
CPane::UndockPane | ドッキング サイト、既定のスライダー、または現在ドッキングされているミニフレーム ウィンドウからウィンドウを削除します。 ( をオーバーライドしますCBasePane::UndockPane.) |
CPane::UpdateVirtualRect | 仮想四角形を更新します。 |
名前 | 説明 |
---|---|
CPane::OnAfterDock | ウィンドウがドッキングされたときにフレームワークによって呼び出されます。 |
CPane::OnAfterFloat | ウィンドウが浮動状態になったときにフレームワークによって呼び出されます。 |
CPane::OnBeforeDock | ウィンドウがドッキングされるときにフレームワークによって呼び出されます。 |
CPane::OnBeforeFloat | ウィンドウが浮動しようとしているときにフレームワークによって呼び出されます。 |
名前 | 説明 |
---|---|
CPane::m_bHandleMinSize | ペインの最小サイズの一貫性のある処理を有効にします。 |
CPane::m_recentDockInfo | 最近のドッキング情報が含まれています。 |
通常、 CPane
オブジェクトは直接インスタンス化されません。 ドッキング機能を持つウィンドウが必要な場合は、 CDockablePane からオブジェクトを派生させます。 ツール バー機能が必要な場合は、 CMFCToolBar からオブジェクトを派生させます。
CPane
から派生するクラスは、CDockSiteにドッキングでき、CPaneFrameWnd に浮動させることができます。
Header: afxPane.h
ウィンドウのレイアウトを直ちに再計算します。
virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);
bRecalcLayout
[in]ウィンドウのレイアウトを自動的に再計算する場合は TRUE。それ以外の場合は FALSE。
ウィンドウのレイアウトを動的に変更するときに、このメソッドを呼び出します。 たとえば、ツール バー ボタンを非表示または表示するときに、このメソッドを呼び出したい場合があります。
内部使用のためにストレージを割り当てます。
BOOL AllocElements(
int nElements,
int cbElement);
nElements
[in]ストレージを割り当てる要素の数。
cbElement
[in]要素のサイズ (バイト単位)。
メモリ割り当てが失敗した場合は FALSE。それ以外の場合は TRUE。
アプリケーションの実行時に生成されたペインの一覧にペインが表示されるかどうかを指定します。
virtual BOOL AllowShowOnPaneMenu() const;
ウィンドウが一覧に表示される場合は TRUE。それ以外の場合は FALSE。 基本実装は常に TRUE を返します。
AppWizard によって生成されたアプリケーションには、そのアプリケーションに含まれるペインを一覧表示するメニュー オプションが含まれています。 このメソッドは、ペインが一覧に表示されるかどうかを決定します。
指定した四角形と現在のウィンドウの四角形のサイズの差を計算します。
virtual CSize CalcAvailableSize(CRect rectRequired);
rectRequired
[in]必要な四角形。
rectRequiredと現在のウィンドウの四角形の幅と高さの違い。
枠やグリッパーを含む、ペインの内側の四角形を計算します。
void CalcInsideRect(
CRect& rect,
BOOL bHorz) const;
rect
[out]ウィンドウのクライアント領域のサイズとオフセットを格納します。
bHorz
[in]ウィンドウが水平方向の場合は TRUE。それ以外の場合は FALSE。
このメソッドは、ウィンドウのレイアウトを再計算する必要がある場合に、フレームワークによって呼び出されます。 rect パラメーターには、ウィンドウのクライアント領域のサイズとオフセットが入力されます。 これには、その境界線とグリッパーが含まれます。
最近ドッキングされた四角形を計算します。
void CalcRecentDockedRect();
このメソッドは、 CPane::m_recentDockInfo を更新します。
ウィンドウのサイズを計算します。
virtual CSize CalcSize(BOOL bVertDock);
bVertDock
[in]ウィンドウが垂直方向にドッキングされている場合は TRUE、それ以外の場合は FALSE。
このメソッドの既定の実装では、サイズ (0, 0) が返されます。
派生クラスは、このメソッドをオーバーライドする必要があります。
指定した基本ペインにペインをドッキングできるかどうかを決定します。
virtual BOOL CanBeDocked(CBasePane* pDockBar) const;
pDockBar
[in]このペインをドッキングするペインを指定します。
このウィンドウを指定したドッキング ウィンドウにドッキングできる場合は TRUE。それ以外の場合は FALSE。
このメソッドは通常、フレームワークによって呼び出され、指定されたドッキング ウィンドウでペインをドッキングできるかどうかを判断します。 ペインをドッキングできるかどうかを判断するために、このメソッドはペインの現在有効なドッキング配置を評価します。
フレーム ウィンドウのさまざまな側面へのドッキングを有効にするには、 CBasePane::EnableDocking を呼び出します。
ウィンドウをタブ付きドキュメントに変換できるかどうかを決定します。
virtual BOOL CanBeTabbedDocument() const;
ウィンドウをタブ付きドキュメントに変換できる場合は TRUE。それ以外の場合は FALSE。
ペインがタブ付きドキュメントに変換されないようにする場合は、派生クラスでこのメソッドをオーバーライドし、FALSE を返します。 タブ付きドキュメントは、[ウィンドウの位置] メニューには表示されません。
ドッキング可能なウィンドウをタブ付きドキュメントに変換します。
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
bActiveTabOnly
[in] CPane::ConvertToTabbedDocument
では使用されません。
ドッキング可能なウィンドウのみをタブ付きドキュメントに変換できます。 詳細については、「 CDockablePane::ConvertToTabbedDocumentを参照してください。
ペインの状態をコピーします。
virtual void CopyState(CPane* pOrgBar);
pOrgBar
[in]ペインへのポインター。
このメソッドは、 pOrgBar の状態を現在のウィンドウにコピーします。
コントロール バーを作成し、 CPane オブジェクトにアタッチします。
virtual BOOL Create(
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
lpszClassName
[in]Windows クラスの名前を指定します。
dwStyle
[in]ウィンドウ スタイル属性を指定します。 詳細については、「ウィンドウ スタイル」を参照してください。
rect
[in] pParentWnd ウィンドウの初期サイズと位置をクライアント座標で指定します。
pParentWnd
[入力、出力]このウィンドウの親ウィンドウを指定します。
nID
[in]ペインの ID を指定します。
dwControlBarStyle
[in]ペインのスタイルを指定します。 詳細については、「CBasePane::CreateEx」を参照してください。
pContext
[入力、出力]ペインの作成コンテキストを指定します。
ウィンドウが正常に作成された場合は TRUE。それ以外の場合は FALSE。
このメソッドは、Windows ウィンドウを作成し、 CPane
オブジェクトにアタッチします。
Create
を呼び出す前に CPane::m_recentDockInfo を明示的に初期化していない場合は、ウィンドウを浮動またはドッキングするときに、パラメーター rect が四角形として使用されます。
フローティング ウィンドウのミニフレーム ウィンドウを作成します。
virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);
rectInitial
[in]作成するミニフレーム ウィンドウの初期サイズと位置を画面座標で指定します。
新しく作成されたミニフレーム ウィンドウ。
このメソッドは、ウィンドウが浮動したときにミニフレーム ウィンドウを作成するためにフレームワークによって呼び出されます。 ミニフレーム ウィンドウには、 CPaneFrameWnd 型または CMultiPaneFrameWnd 型を指定できます。 複数のミニフレーム ウィンドウは、ウィンドウにAFX_CBRS_FLOAT_MULTIスタイルがある場合に作成されます。
ミニフレーム ウィンドウのランタイム クラス情報は、 CPane::m_pMiniFrameRTC
メンバーに格納されます。 カスタマイズされたミニフレーム ウィンドウを作成する場合は、派生クラスを使用してこのメンバーを設定できます。
コントロール バーを作成し、 CPane オブジェクトにアタッチします。
virtual BOOL CreateEx(
DWORD dwStyleEx,
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
dwStyleEx
[in]拡張ウィンドウ スタイル属性を指定します。 詳細については、「 目的のウィンドウ スタイル」を参照してください。
lpszClassName
[in]Windows クラスの名前を指定します。
dwStyle
[in]ウィンドウ スタイル属性を指定します。 詳細については、「ウィンドウ スタイル」を参照してください。
rect
[in] pParentWnd ウィンドウの初期サイズと位置をクライアント座標で指定します。
pParentWnd
[入力、出力]このウィンドウの親ウィンドウを指定します。
nID
[in]ペインの ID を指定します。
dwControlBarStyle
[in]ペインのスタイルを指定します。 詳細については、「CBasePane::CreateEx」を参照してください。
pContext
[入力、出力]ペインの作成コンテキストを指定します。
ウィンドウが正常に作成された場合は TRUE。それ以外の場合は FALSE。
このメソッドは、Windows ウィンドウを作成し、 CPane
オブジェクトにアタッチします。
CreateEx
を呼び出す前に CPane::m_recentDockInfo を明示的に初期化していない場合は、ウィンドウを浮動またはドッキングするときに、パラメーター rect が四角形として使用されます。
マウスを使用してペインをドッキングします。
virtual BOOL DockByMouse(CBasePane* pDockBar);
pDockBar
[in]このペインをドッキングするベース ペインを指定します。
ペインが正常にドッキングされた場合は TRUE、それ以外の場合は FALSE。
フローティング ペインを基本ペインにドッキングします。
virtual BOOL DockPane(
CBasePane* pDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
pDockBar
[入力、出力]このペインをドッキングするベース ペインを指定します。
lpRect
[in]このペインをドッキングするベース ペイン上の四角形を指定します。
dockMethod
[in]使用するドッキング メソッドを指定します。 使用可能なオプションは次のとおりです。
オプション | 説明 |
---|---|
DM_UNKNOWN | このオプションは、ドッキング 方法が不明な場合にフレームワークで使用されます。 ウィンドウには、最新の浮動位置は格納されません。 このオプションを使用して、最近の浮動位置を格納する必要がない場合に、プログラムによってウィンドウをドッキングすることもできます。 |
DM_MOUSE | 内部使用。 |
DM_DBL_CLICK | このオプションは、グリッパーがダブルクリックされたときに使用されます。 ペインは、最新のドッキング位置に再配置されます。 ダブルクリックしてペインをドッキング解除すると、ウィンドウは最新の浮動位置に再配置されます。 |
DM_SHOW | このオプションを使用すると、プログラムによってウィンドウをドッキングできます。 ウィンドウには、最新の浮動位置が格納されます。 |
DM_RECT | ペインは、 lpRect で指定された領域にドッキングされます。 |
DM_STANDARD | このオプションを使用すると、フレームワークはウィンドウを移動中にアウトライン フレームとして描画します。 |
ペインが正常にドッキングされた場合は TRUE、それ以外の場合は FALSE。
このメソッドは、 pDockBar パラメーターで指定された基本ペインにペインをドッキングします。 最初に、 CBasePane::EnableDocking を呼び出してドッキングを有効にする必要があります。
アウトライン (標準) ドッキングを使用してペインをドッキングします。
virtual CPane* DockPaneStandard(BOOL& bWasDocked);
bWasDocked
[in]ペインが正常にドッキングされた場合は TRUE。それ以外の場合は FALSE。
このメソッドは常に this
ポインターを返します。
このメソッドは、 CDockablePane クラスから派生したペインにのみ使用されます。 詳細については、「 CDockablePane::D ockPaneStandardを参照してください。
ドッキング可能なウィンドウをフレームにドッキングします。
virtual BOOL DockToFrameWindow(
DWORD dwAlignment,
LPCRECT lpRect = NULL,
DWORD dwDockFlags = DT_DOCK_LAST,
CBasePane* pRelativeBar = NULL,
int nRelativeIndex = -1,
BOOL bOuterEdge = FALSE);
dwAlignment
[in]ペインをドッキングする親フレームの側面。
lpRect
[in]指定したサイズ。
dwDockFlags
[in] 無視されます。
pRelativeBar
[in] 無視されます。
nRelativeIndex
[in] 無視されます。
bOuterEdge
[in]TRUE の場合、また、 dwAlignment で指定された側にドッキング可能なペインがある場合、ペインは親フレームの端に近い他のペインの外側にドッキングされます。 FALSE の場合、ペインはクライアント領域の中心の近くにドッキングされます。
ウィンドウ分割線 ( CPaneDivider クラス) を作成できない場合は FALSE。それ以外の場合は TRUE。
現在のペインがドッキングされているのと同じ行に別のペインをドッキングできるかどうかを示します。
virtual BOOL DoesAllowSiblingBars() const;
TRUE の 場合、このウィンドウは、それ自体と同じ行の別のウィンドウにドッキングできます。それ以外の場合は FALSE。
この動作を有効または無効にするには、 CPane::SetExclusiveRowMode を呼び出します。
既定では、ツール バーでは排他行モードが無効になり、メニュー バーでは排他行モードが有効になっています。
ウィンドウを浮動表示します。
virtual BOOL FloatPane(
CRect rectFloat,
AFX_DOCK_METHOD dockMethod = DM_UNKNOWN,
bool bShow = true);
rectFloat
[in]ウィンドウを浮動時に配置する位置を画面座標で指定します。
dockMethod
[in]ペインが浮動時に使用するドッキング 方法を指定します。 使用可能な値の一覧については、「 CPane::D ockPaneを参照してください。
bShow
[in]浮動時にペインを表示する場合は TRUE。それ以外の場合は FALSE。
ペインが正常に浮動した場合、またはウィンドウを浮動できない場合は TRUE。 CBasePane::CanFloat は FALSE を返します。それ以外の場合は FALSE。
このメソッドを呼び出して、 rectFloat パラメーターで指定された位置にペインを浮動させます。 このメソッドは、ウィンドウの親ミニフレーム ウィンドウを自動的に作成します。
ウィンドウが展開できる量をピクセル単位で返します。
virtual int GetAvailableExpandSize() const;
ペインが水平方向にドッキングされている場合、戻り値は使用可能な幅です。それ以外の場合、戻り値は使用可能な高さになります。
ウィンドウが縮小できる量をピクセル単位で返します。
virtual int GetAvailableStretchSize() const;
ウィンドウが縮小できる量 (ピクセル単位)。 ウィンドウが水平方向にドッキングされている場合、この量は使用可能な幅です。それ以外の場合は、使用可能な高さになります。
使用可能なストレッチ サイズは、現在のサイズ (CWnd::GetWindowRect) からペインの最小許容サイズ (CPane::GetMinSize) を減算することによって計算されます。
ウィンドウの罫線の幅を返します。
CRect GetBorders() const;
ウィンドウの各辺の現在の幅 (ピクセル単位) を含む CRect オブジェクト。 たとえば、CRect
オブジェクトのleft
メンバーの値は、左罫線の幅です。
罫線のサイズを設定するには、 CPane::SetBorders を呼び出します。
ウィンドウの hot スポット を返します。
CPoint GetClientHotSpot() const;
ホット スポットは、ユーザーがウィンドウを移動するために選択して保持するウィンドウ上のポイントです。 ホット スポットは、ペインがドッキングされた位置から移動されたときにスムーズ アニメーションに使用されます。
ウィンドウがドッキングされているドッキング行 ( CDockingPanesRow クラス) を返します。
CDockingPanesRow* GetDockSiteRow() const;
ペインがドッキングされているドッキング行を指す CDockingPanesRow
* か、ペインがドッキングされていない場合は NULL。
ペインが排他行モードであるかどうかを判断します。
virtual BOOL GetExclusiveRowMode() const;
ペインが排他行モードの場合は TRUE。それ以外の場合は FALSE。
排他行モードの詳細については、「 CPane::SetExclusiveRowModeを参照してください。
基になる CMFCDragFrameImpl
オブジェクトに格納されているホット スポットを返します。
CPoint GetHotSpot() const;
CPane
クラスには、CMFCDragFrameImpl
オブジェクト (m_dragFrameImpl
) が含まれています。このオブジェクトは、ユーザーが標準ドッキング モードでウィンドウを移動したときに表示される四角形を描画します。 ホット スポットは、ユーザーがウィンドウを移動すると、現在のマウス位置を基準にして四角形を描画するために使用されます。
ウィンドウの最小許容サイズを取得します。
virtual void GetMinSize(CSize& size) const;
size
[out]許容される最小サイズで埋められた CSize
オブジェクト。
ウィンドウのタイトルを取得します。
virtual void GetPaneName(CString& strName) const;
strName
[out]キャプション名で埋められた CString
オブジェクト。
ペインのタイトルは、ペインがドッキングまたはフローティング状態のときにキャプション領域に表示されます。 ペインがタブ付きグループの一部である場合、タイトルはタブ領域に表示されます。 ペインが自動非表示モードの場合、タイトルは CMFCAutoHideButton
に表示されます。
ウィンドウの 仮想四角形 を取得します。
void GetVirtualRect(CRect& rectVirtual) const;
rectVirtual
[out]仮想四角形で塗りつぶされる CRect
オブジェクト。
ウィンドウが移動されると、フレームワークは、ペインの元の位置を仮想四角形に格納します。 フレームワークでは、仮想四角形を使用して、ペインの元の位置を復元できます。
ウィンドウをプログラムで移動する場合を除き、仮想四角形に関連するメソッドを呼び出さないでください。
ウィンドウが移動されると、このメソッドは、他のペイン、ドッキング行、ミニフレーム ウィンドウに対する相対的な位置を分析し、適切なAFX_CS_STATUS値を返します。
virtual AFX_CS_STATUS IsChangeState(
int nOffset,
CBasePane** ppTargetBar) const;
nOffset
[in]ドッキングの感度を指定します。 たとえば、 nOffset 内で移動されたペイン ドック行のピクセルがドッキングされます。
ppTargetBar
[in]メソッドから制御が戻るときに、 ppTargetBar には、現在のウィンドウをドッキングするオブジェクトへのポインターか、ドッキングを行う必要がない場合は NULL が含まれます。
次のいずれかのAFX_CS_STATUS値です。
値 | 説明 |
---|---|
CS_NOTHING | ペインがドック サイトの近くにありません。 フレームワークはペインをドッキングしません。 |
CS_DOCK_IMMEDIATELY | ペインがドッキング サイト上にあり、DT_IMMEDIATE スタイルが有効になっています。 フレームワークによってペインが直ちにドッキングされます。 |
CS_DELAY_DOCK | ペインは、別のドッキング ウィンドウまたはメイン フレームのエッジであるドッキング サイト上にあります。 ユーザーが移動を離すと、フレームワークによってウィンドウがドッキングされます。 |
CS_DELAY_DOCK_TO_TAB | ウィンドウがドッキング サイト上にあり、ウィンドウがタブ付きウィンドウにドッキングされます。 これは、ペインが別のドッキング ウィンドウのキャプション上にあるか、タブ付きペインのタブ領域の上にある場合に発生します。 ユーザーが移動を離すと、フレームワークによってウィンドウがドッキングされます。 |
ペインを移動するかどうかを指定します。
virtual BOOL IsDragMode() const;
ウィンドウを移動する場合は TRUE。それ以外の場合は FALSE。
ウィンドウが複数ウィンドウ フレーム ウィンドウ内にあるかどうかを指定します ( CMultiPaneFrameWnd クラス)。
virtual BOOL IsInFloatingMultiPaneFrameWnd() const;
TRUE の場合、ウィンドウが複数ウィンドウ フレーム ウィンドウ内にあります。それ以外の場合は FALSE。
ドッキング可能なペインのみが、複数ペインのフレーム ウィンドウに浮動できます。 したがって、 CPane::IsInFloatingMultiPaneFrameWnd
は常に FALSE を返します。
ペインが指定した四角形の左 (または上) にあるかどうかを決定します。
bool IsLeftOf(
CRect rect,
bool bWindowRect = true) const;
rect
[in]比較に使用される CRect
オブジェクト。
bWindowRect
[in]TRUE の場合、 rect には画面座標が含まれていると見なされます。FALSE の場合、 rect にはクライアント座標が含まれていると見なされます。
ウィンドウが水平方向にドッキングされている場合、このメソッドは、その場所が rect の左にあるかどうかを確認します。 それ以外の場合、このメソッドは場所が rectの上にあるかどうかを確認します。
ウィンドウのサイズを変更できるかどうかを指定します。
virtual BOOL IsResizable() const;
ウィンドウのサイズを変更できる場合は TRUE。それ以外の場合は FALSE。
基本 CPane
オブジェクトはサイズ変更できません。
ドッキング マネージャーは、サイズ変更可能なフラグを使用してペインのレイアウトを決定します。 サイズ変更できないペインは、常に親フレームの外側の端に配置されます。
サイズ変更できないペインは、ドッキング コンテナーに配置できません。
タブ付きウィンドウのタブ コントロールにペインが挿入されているかどうかを確認します。
virtual BOOL IsTabbed() const;
ペインがタブ付きである場合は TRUE。それ以外の場合は FALSE。
タブ付き状態は、浮動状態、ドッキング状態、および自動非表示状態とは別に処理されます。
レジストリからペインの状態を読み込みます。
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1);
lpszProfileName
[入力] プロファイル名。
nIndex
[in]プロファイル インデックス。
uiID
[in]ウィンドウ ID。
ペインの状態が正常に読み込まれた場合は TRUE。それ以外の場合は FALSE。
フレームワークは、レジストリからウィンドウの状態を読み込むには、このメソッドを呼び出します。 派生クラスでオーバーライドして、 CPane::SaveState によって保存される追加情報を読み込みます。
このメソッドをオーバーライドする場合は、基本メソッドも呼び出し、基本メソッドが FALSE を返す場合は FALSE を返します。
最小ペイン サイズの一貫性のある処理を有効にします。
AFX_IMPORT_DATA static BOOL m_bHandleMinSize;
アプリケーション内の 1 つ以上のドッキング ウィンドウが GetMinSize
をオーバーライドする場合、またはアプリケーションが SetMinSize
を呼び出す場合は、フレームワークがペインのサイズを一貫して処理できるように、この静的メンバーを TRUE に設定できます。
この値が TRUE に設定されている場合、サイズを小さくする必要があるペインはすべて、拡大されずにクリップされます。 フレームワークはウィンドウのサイズ設定のためにウィンドウ領域を使用するため、この値が TRUE に設定されている場合は、ウィンドウ領域のドッキング ウィンドウ領域のサイズを変更しないでください。
最近のドッキング情報が含まれています。
CRecentDockSiteInfo m_recentDockInfo;
フレームワークは、ウィンドウの最新のドッキング状態情報をこのメンバーに格納します。
ウィンドウと仮想四角形を指定した量だけ移動します。
BOOL MoveByAlignment(
DWORD dwAlignment,
int nOffset);
dwAlignment
[in]ペインの配置を指定します。
nOffset
[in]ウィンドウと仮想四角形の移動に使用する量 (ピクセル単位)。
dwAlignment には、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
CBRS_ALIGN_TOP | ウィンドウをフレーム ウィンドウのクライアント領域の上部にドッキングできるようにします。 |
CBRS_ALIGN_BOTTOM | ウィンドウをフレーム ウィンドウのクライアント領域の下部にドッキングできるようにします。 |
CBRS_ALIGN_LEFT | ウィンドウをフレーム ウィンドウのクライアント領域の左側にドッキングできるようにします。 |
CBRS_ALIGN_RIGHT | ウィンドウをフレーム ウィンドウのクライアント領域の右側にドッキングできるようにします。 |
CBRS_ALIGN_ANY | ウィンドウをフレーム ウィンドウのクライアント領域の任意の側にドッキングできるようにします。 |
dwAlignmentにCBRS_ALIGN_LEFTまたはCBRS_ALIGN_RIGHT フラグが含まれている場合、ペインと仮想四角形は水平方向に移動されます。それ以外の場合、dwAlignmentにCBRS_ALIGN_TOPまたはCBRS_ALIGN_BOTTOMフラグが含まれている場合、ペインと仮想四角形は垂直方向に移動されます。
ウィンドウを指定した四角形に移動します。
virtual CSize MovePane(
CRect rectNew,
BOOL bForceMove,
HDWP& hdwp);
rectNew
[in]ペインの新しい四角形を指定します。
bForceMove
[in]TRUE の場合、このメソッドは許可されている最小ウィンドウ サイズ ( CPane::GetMinSize)を無視します。それ以外の場合は、必要に応じてウィンドウが調整され、最小許容サイズ以上になるようにします。
hdwp
[in] 使用されません。
新しい四角形と古い四角形 (古い四角形 - rectNew) の幅と高さの違いを含むCSize
オブジェクト。
このメソッドは、ドッキング可能なペインにのみ使用されます。
ウィンドウの親が変更されたときにフレームワークによって呼び出されます。
virtual void OnAfterChangeParent(CWnd* pWndOldParent);
pWndOldParent
[入力、出力]ペインの前の親ウィンドウ。
このメソッドは、ドッキング操作またはフローティング操作のためにペインの親が変更されたときにフレームワークによって呼び出されます。
ウィンドウがドッキングされたときにフレームワークによって呼び出されます。
virtual void OnAfterDock(
CBasePane* pBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
pBar
[入力] このパラメーターは使用しません。
lpRect
[入力] このパラメーターは使用しません。
dockMethod
[入力] このパラメーターは使用しません。
ペインが浮動した後にフレームワークによって呼び出されます。
virtual void OnAfterFloat();
ペインが浮動した後に処理を実行する場合は、派生クラスでこのメソッドをオーバーライドできます。
ウィンドウの親が変更されようとしているときにフレームワークによって呼び出されます。
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay = FALSE);
pWndNewParent
[入力、出力]新しい親ウィンドウを指定します。
bDelay
[in]グローバル ドッキング レイアウトの調整を遅らせる場合は TRUE。それ以外の場合は FALSE。
このメソッドは、ペインがドッキングまたは浮動しているため、ペインの親が変更されようとしているときにフレームワークによって呼び出されます。
既定では、ペインは、 CDockSite::RemovePane
を呼び出すことによってドッキング ウィンドウに登録解除されます。
ウィンドウがドッキングされようとしているときにフレームワークによって呼び出されます。
virtual BOOL OnBeforeDock(
CBasePane** ppDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
ppDockBar
[入力、出力]このペインがドッキングするペインを指定します。
lpRect
[in]ドッキングする四角形を指定します。
dockMethod
[in]ドッキング メソッドを指定します。
ペインをドッキングできる場合は TRUE。 関数から FALSE が返された場合、ドッキング操作は中止されます。
このメソッドは、ペインがドッキングされようとしているときにフレームワークによって呼び出されます。 ペインが最終的にドッキングされる前に処理を実行する場合は、派生クラスでこのメソッドをオーバーライドできます。
ウィンドウが浮動しようとしているときにフレームワークによって呼び出されます。
virtual BOOL OnBeforeFloat(
CRect& rectFloat,
AFX_DOCK_METHOD dockMethod);
rectFloat
[in]ウィンドウが浮動状態の場合の位置とサイズを指定します。
dockMethod
[in]ペインのドッキング 方法を指定します。
ペインを浮動可能な場合は TRUE。それ以外の場合は FALSE。
このメソッドは、ペインが浮動しようとしているときにフレームワークによって呼び出されます。 ペインが最終的に浮動する前に処理を実行する場合は、派生クラスでこのメソッドをオーバーライドできます。
ユーザーがウィンドウのキャプションの閉じるボタンを押すと、フレームワークによって呼び出されます。
virtual void OnPressCloseButton();
このメソッドは、ユーザーがウィンドウのキャプションの Close ボタンを押すと、フレームワークによって呼び出されます。 Close イベントに関する通知を受信するには、派生クラスでこのメソッドをオーバーライドします。
特殊ウィンドウ メニューが表示されるときにフレームワークによって呼び出されます。
virtual BOOL OnShowControlBarMenu(CPoint point);
point
[in]メニューの場所を指定します。
メニューを表示できる場合は TRUE。それ以外の場合は FALSE。
メニューには、ペインの動作を指定できる項目がいくつか含まれています。つまり、 Floating、 Docking、 AutoHide、 Hide。 CDockingManager::EnableDockSiteMenu を呼び出すことで、すべてのペインに対してこのメニューを有効にすることができます。
ウィンドウのレイアウト情報を再計算します。
virtual void RecalcLayout();
ウィンドウがドッキングされている場合、このメソッドは、ウィンドウの現在のサイズにサイズを設定して、ウィンドウの仮想四角形を更新します。
ウィンドウが浮動している場合、このメソッドは親ミニフレームに通知して、ウィンドウのサイズをミニフレームのサイズに調整します。 フレームワークは、ミニフレームが少なくともウィンドウの最小許容サイズ ( CPane::GetMinSize) であることを確認し、必要に応じてミニフレームのサイズを変更します。
ウィンドウの状態をレジストリに保存します。
virtual BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1);
lpszProfileName
[入力] プロファイル名。
nIndex
[in]プロファイル インデックス。
uiID
[in]ウィンドウ ID。
状態が正常に保存された場合は TRUE。それ以外の場合は FALSE。
フレームワークは、ウィンドウの状態をレジストリに保存するときに、このメソッドを呼び出します。 派生クラスの SaveState
をオーバーライドして、追加情報を格納します。
このメソッドをオーバーライドする場合は、基本メソッドも呼び出し、基本メソッドが FALSE を返す場合は FALSE を返します。
ペインにアクティブとしてフラグを設定します。
virtual void SetActiveInGroup(BOOL bActive);
bActive
[in]ペインにアクティブのフラグを設定するかどうかを指定する BOOL。
ドッキング可能なペインが表示されている場合、または自動非表示ボタンが選択されている場合、対応する自動非表示ペインはアクティブとしてマークされます。
ペインに関連付けられている自動非表示ボタンの外観は、2 つの要因に基づいています。 ウィンドウがアクティブで、 static BOOL CMFCAutoHideButton::m_bOverlappingTabs
が TRUE の場合、フレームワークは自動非表示ボタンをアイコンとラベルとして表示します。 非アクティブなウィンドウの場合、フレームワークには自動非表示アイコンのみが表示されます。
CMFCAutoHideButton::m_bOverlappingTabs
が FALSE の場合、またはペインがグループに存在しない場合は、関連付けられている自動非表示ボタンがアイコンとラベルとして表示されます。
ウィンドウの罫線の値を設定します。
void SetBorders(
int cxLeft = 0,
int cyTop = 0,
int cxRight = 0,
int cyBottom = 0);
void SetBorders(LPCRECT lpRect);
cxLeft
[in]ペインの左罫線の幅をピクセル単位で指定します。
cyTop
[in]ウィンドウの上罫線の幅をピクセル単位で指定します。
cxRight
[in]ペインの右罫線の幅をピクセル単位で指定します。
cyBottom
[in]ペインの下罫線の幅をピクセル単位で指定します。
lpRect
[in]ウィンドウの各境界線の幅 (ピクセル単位) を含む CRect オブジェクト。
ウィンドウの境界線のサイズを設定するには、この関数を呼び出します。
ウィンドウの スポット を設定します。
void SetClientHotSpot(const CPoint& ptNew);
ptNew
[in]新しいホット スポットを指定する CPoint
オブジェクト。
ホット スポットは、ユーザーがウィンドウを移動するために選択して保持するウィンドウ上のポイントです。 ホット スポットは、ドッキングされた位置からウィンドウがドラッグされたときにスムーズ なアニメーションに使用されます。
ペインのドッキング状態情報を復元します。
virtual void SetDockState(CDockingManager* pDockManager);
pDockManager
[in]メイン フレーム ウィンドウのドッキング マネージャーへのポインター。
このメソッドは、ウィンドウの最新のドッキング状態情報を復元するためにフレームワークによって呼び出されます。 ウィンドウには、最近のドッキング状態情報が CPane::m_recentDockInfo に格納されます。 詳細については、 CRecentDockSiteInfo クラスを参照してください。
このメソッドを呼び出して、外部ソースからペイン情報を読み込むときにドッキング状態を設定することもできます。
排他行モードを有効または無効にします。
virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);
bExclusive
[in]排他行モードを有効にする場合は TRUE。それ以外の場合は FALSE。
排他行モードを有効または無効にするには、このメソッドを呼び出します。 ペインが排他行モードの場合、同じ行を他のツールバーと共有することはできません。
既定では、すべてのツールバーで排他行モードが無効になり、メニュー バーで排他行モードが有効になっています。
ウィンドウの最小許容サイズを設定します。
void SetMinSize(const CSize& size);
size
[in]ウィンドウの最小許容サイズを含む CSize
オブジェクト。
ウィンドウの 仮想四角形 を設定します。
void SetVirtualRect(
const CRect& rect,
BOOL bMapToParent = TRUE);
rect
[in]設定する仮想四角形を指定する CRect
オブジェクト。
bMapToParent
[in]親ウィンドウを基準 ポイントが に含まれている場合は TRUE を指定します。
仮想四角形は、ウィンドウの移動時の元の位置を格納します。 フレームワークでは、仮想四角形を使用して元の位置を復元できます。
ウィンドウをプログラムで移動する場合を除き、仮想四角形に関連するメソッドを呼び出さないでください。
既定のミニフレーム ウィンドウのランタイム クラス情報を設定します。
void SetMiniFrameRTC(CRuntimeClass* pClass);
pClass
[入力、出力]ミニフレーム ウィンドウのランタイム クラス情報を指定します。
ウィンドウが浮動すると、 CPaneFrameWnd (ミニフレーム) ウィンドウに配置されます。 CPane::CreateDefaultMiniframe が呼び出されたときに使用されるカスタム CPaneFrameWnd
派生クラスを指定できます。
ドッキング スタイルに基づいて、ウィンドウを垂直方向または水平方向に引き伸ばします。
virtual int StretchPaneDeferWndPos(
int nStretchSize,
HDWP& hdwp);
nStretchSize
[in]ウィンドウを拡大する量をピクセル単位で指定します。 ウィンドウを縮小するには、負の値を使用します。
hdwp
[in] 使用されません。
ペインが引き伸ばされた実際の量 (ピクセル単位)。
必要に応じて、このメソッドは nStretchSize を変更して、ウィンドウがサイズ制限を超えないようにします。 これらの制限は、 CPane::GetAvailableStretchSize および CPane::GetAvailableExpandSize を呼び出すことによって取得されます。
自動非表示モードを切り替えます。
virtual void ToggleAutoHide();
自動非表示モードを切り替えるには、このメソッドを呼び出します。 自動非表示モードに切り替えるには、ウィンドウをメイン フレーム ウィンドウにドッキングする必要があります。
ドッキング サイト、既定のスライダー、または現在ドッキングされているミニフレーム ウィンドウからウィンドウを削除します。
virtual void UndockPane(BOOL bDelay = FALSE);
bDelay
[in]FALSE の場合、フレームワークは CBasePane::AdjustDockingLayout を呼び出してドッキング レイアウトを調整します。
プログラムによってウィンドウのドッキングを解除するには、このメソッドを使用します。
仮想四角形を更新します。
void UpdateVirtualRect();
void UpdateVirtualRect(CPoint ptOffset);
void UpdateVirtualRect(CSize sizeNew);
ptOffset
[in]ウィンドウを移動するオフセットを指定する CPoint
オブジェクト。
sizeNew
[in]ウィンドウの新しいサイズを指定する CSize
オブジェクト。
最初のオーバーロードは、ペインの現在の位置とサイズを使用して仮想四角形を設定します。
2 番目のオーバーロードは、仮想四角形を、 ptOffset で指定された量だけシフトします。
3 番目のオーバーロードは、ペインの現在の位置と、 sizeNew で指定されたサイズを使用して、仮想四角形を設定します。