CMFCAutoHideBar クラス
更新 : 2007 年 11 月
CMFCAutoHideBar クラスは、自動非表示機能を実装する特殊なツール バー クラスです。
class CMFCAutoHideBar : public CPane
メンバ
パブリック コンストラクタ
名前 |
説明 |
---|---|
|
パブリック メソッド
名前 |
説明 |
---|---|
|
|
(CPane::AllowShowOnPaneMenu をオーバーライドします)。 |
|
(CBasePane::CalcFixedLayout をオーバーライドします)。 |
|
コントロール バーを作成し、CPane オブジェクトに結び付けます (CPane::Create をオーバーライドします)。 |
|
|
|
|
|
特殊なペイン メニューが表示される直前に、フレームワークによって呼び出されます (CPane::OnShowControlBarMenu をオーバーライドします)。 |
|
|
|
(CPane::SetActiveInGroup をオーバーライドします)。 |
|
|
|
|
|
ペインを垂直方向または水平方向に引き伸ばします (CBasePane::StretchPane をオーバーライドします)。 |
|
|
|
|
データ メンバ
名前 |
説明 |
---|---|
ユーザーがマウス カーソルを CMFCAutoHideButton クラス の上に置いてから、フレームワークが関連するウィンドウを表示するまでの遅延時間です。 |
解説
ユーザーがドッキング ペインを自動非表示モードに切り替えると、フレームワークは自動的に CMFCAutoHideBar オブジェクトを作成します。さらに、必要な CAutoHideDockSite オブジェクトと CMFCAutoHideButton オブジェクトも作成します。各 CAutoHideDockSite オブジェクトは、個々の CMFCAutoHideButton と関連付けられます。
CMFCAutoHideBar クラスは、ユーザーのマウスが CMFCAutoHideButton の上に置かれたときの CAutoHideDockSite の表示を実装します。ツール バーが WM_MOUSEMOVE メッセージを受け取ると、CMFCAutoHideBar はタイマを起動します。タイマが終了すると、ツール バーに WM_TIMER イベント通知を送信します。ツール バーは、タイマが起動したときに置かれていたのと同じ自動非表示ボタンの上にマウス ポインタが置かれているかどうかを確認することで、このイベントを処理します。同じボタンの上に置かれている場合は、結び付けられた CAutoHideDockSite が表示されます。
m_nShowAHWndDelay を設定することで、タイマの遅延時間の長さを制御できます。既定値は 400 ミリ秒です。
使用例
CMFCAutoHideBar オブジェクトの構築およびその GetDockSiteRow メソッドの使用方法を次の例に示します。
CMFCAutoHideBar* pParentBar = new CMFCAutoHideBar();
CDockingPanesRow* pParentRow = pParentBar->GetDockSiteRow();
継承階層
必要条件
ヘッダー : afxautohidebar.h