CMFCOutlookBar クラス
Microsoft Outlook 2000 または Outlook 2003 のナビゲーション ウィンドウと同じ外観を持つタブ付きペインです。CMFCOutlookBar オブジェクトには、CMFCOutlookBarTabCtrl クラス オブジェクトと一連のタブが含まれます。それらのタブは、CMFCOutlookBarPane クラス オブジェクトまたは CWnd から派生したオブジェクトです。ユーザーに対しては、Outlook バーは一連のボタンおよび表示領域として表示されます。ユーザーがボタンをクリックすると、対応するコントロールまたはボタン ペインが表示されます。
class CMFCOutlookBar : public CBaseTabbedPane
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
CMFCOutlookBar::CMFCOutlookBar |
既定のコンストラクターです。 |
CMFCOutlookBar::~CMFCOutlookBar |
デストラクターです。 |
パブリック メソッド
名前 |
説明 |
---|---|
空のタブ付きウィンドウが破棄できるかどうかを指定します。(CBaseTabbedPane::AllowDestroyEmptyTabbedPane をオーバーライドします。) |
|
Outlook バー ペインに別のペインをドッキングできるかどうかを判断します (CDockablePane::CanAcceptPane をオーバーライドします)。 |
|
タブ付きペインのキャプションにアクティブなタブと同じテキストが表示されるかどうかを判断します (CBaseTabbedPane::CanSetCaptionTextToTabName をオーバーライドします)。 |
|
Outlook バー コントロールを作成します。 |
|
カスタム Outlook バー タブを作成します。 |
|
CMFCOutlookBar::CreateObject |
このクラス型の動的インスタンスを作成するために、フレームワークによって使用されます。 |
ユーザーが Outlook バーの外側にコントロール バーをドッキングできるかどうかを判断します。 |
|
ペインが現在切り離し可能なタブにある場合に限り、ペインをフローティングにします (CBaseTabbedPane::FloatTab をオーバーライドします。) |
|
Outlook バーのボタンに表示されるテキストのフォントを返します。 |
|
Outlook バーのタブ領域のサイズと位置を返します (CBaseTabbedPane::GetTabArea をオーバーライドします)。 |
|
CMFCOutlookBar::GetThisClass |
このクラス型に関連付けられた CRuntimeClass オブジェクトへのポインターを取得するために、フレームワークによって使用されます。 |
Outlook バーが Microsoft Office Outlook 2003 と同じように動作するかどうかを判断します。「解説」を参照してください。 |
|
アクティブなタブの後に CMFCOutlookBarTabCtrl::SetActiveTab によって呼び出されたアニメーションを使用して設定されました。 |
|
タブ ページがアニメーションを使用してアクティブなタブとして設定される前に CMFCOutlookBarTabCtrl::SetActiveTab で呼び出します。 |
|
Outlook バーが左右にスクロールすると、フレームワークによって呼び出されます。 |
|
カスタム Outlook バー タブを削除します。 |
|
Outlook バーのボタンに表示されるテキストのフォントを設定します。 |
|
Outlook バーを Outlook 2003 と同じように動作させるかどうかを指定します。「解説」を参照してください。 |
解説
Outlook バーの例については、OutlookDemo サンプル: MFC OutlookDemo アプリケーションを参照してください。
Outlook バーの実装
アプリケーションで CMFCOutlookBar コントロールを使用するには、次の手順に従います。
CMFCOutlookBar オブジェクトをメイン フレーム ウィンドウ クラスに埋め込みます。
class CMainFrame : public CMDIFrameWnd { ... CMFCOutlookBar m_wndOutlookBar; CMFCOutlookBarPane m_wndOutlookPane; ... };
メイン フレームで WM_CREATE メッセージを処理するときに、CMFCOutlookBar::Create メソッドを呼び出して Outlook バー タブ コントロールを作成します。
m_wndOutlookBar.Create (_T("Shortcuts"), this, CRect (0, 0, 100, 100), ID_VIEW_OUTLOOKBAR, WS_CHILD | WS_VISIBLE | CBRS_LEFT);
CBaseTabbedPane::GetUnderlyingWindow を使用して、基になる CMFCOutlookBarTabCtrl へのポインターを取得します。
CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
ボタンを含むタブごとに CMFCOutlookBarPane クラス オブジェクトを作成します。
m_wndOutlookPane.Create (&m_wndOutlookBar, AFX_DEFAULT_TOOLBAR_STYLE, ID_OUTLOOK_PANE_GENERAL, AFX_CBRS_FLOAT | AFX_CBRS_RESIZE); // make the Outlook pane detachable (enable docking) m_wndOutlookPane.EnableDocking (CBRS_ALIGN_ANY); // add buttons m_wndOutlookPane.AddButton (theApp.LoadIcon (IDR_MAINFRAME), "About", ID_APP_ABOUT); m_wndOutlookPane.AddButton (theApp.LoadIcon (IDR_CUSTOM_OPEN_ICON), "Open", ID_FILE_OPEN);
CMFCBaseTabCtrl::AddTab を呼び出して新しいタブをそれぞれ追加します。ページをデタッチできないようにするには、bDetachable パラメーターを FALSE に設定します。デタッチできるページを追加するには、CMFCOutlookBarTabCtrl::AddControl を使用します。
pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE);
CWnd から派生したコントロール (CMFCShellTreeCtrl クラスなど) をタブとして追加するには、コントロールを作成し、CMFCBaseTabCtrl::AddTab を呼び出してそのコントロールを Outlook バーに追加します。
[!メモ]
各 CMFCOutlookBarPane クラス オブジェクトおよび CWnd から派生した各オブジェクトに一意のコントロール ID を使用する必要があります。
新しいページを実行時に動的に追加または削除するには、それぞれ CMFCOutlookBar::CreateCustomPage と CMFCOutlookBar::RemoveCustomPage を使用します。
Outlook 2003 モード
Outlook 2003 モードでは、タブ ボタンは Outlook バー ペインの下部に配置されます。ボタンを表示できる十分な領域がない場合、ボタンはペインの下部にあるツール バーに似た領域にアイコンとして表示されます。
Outlook 2003 モードを有効にするには、CMFCOutlookBar::SetMode2003 を使用します。Outlook バーの下部に表示されるアイコンが含まれたビットマップを設定するには、CMFCOutlookBarTabCtrl::SetToolbarImageList を使用します。ビットマップのアイコンは、タブ インデックス順に並べる必要があります。
継承階層
必要条件
ヘッダー : afxoutlookbar.h