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