リボンの表示
Windows リボン フレームワークは、実行時にリボン UI を表示する方法をアプリケーションが指定できるようにする一連のプロパティを公開します。
はじめに
リボン フレームワーク アプリケーションのドキュメント領域 (またはビュー ポート) で使用できる領域を最大化するために、アプリケーションはリボン UI を表示するか非表示にするかを指定し、表示されている場合はリボンが展開状態か折りたたまれているかを指定できます。
次の表に示す フレームワーク プロパティ キー は、リボン フレームワーク アプリケーションでリボン UI の表示特性を明示的に設定するために使用されます。 これらのプロパティは、 コンテキスト ポップアップ コントロールの表示には影響しません。
表示状態 | リボン プロパティ キー |
---|---|
展開または折りたたみ | UI_PKEY_Minimized |
表示または非表示 | UI_PKEY_Viewable |
リボンを最小化する
リボン フレームワーク アプリケーションでは、 UI_PKEY_Minimized プロパティ キーの値を true または false に設定することで、リボン コマンド バーの最小化された状態を動的に設定できます。
表示状態 | プロパティ キーの値 |
---|---|
[展開済み] | false |
Collapsed | true |
リボン UI が最小化された状態の場合、リボンの [タブ] 行は表示されたままで、完全に機能します。
次のスクリーン ショットは、最小化された状態のリボンを示しています。
Note
リボン フレームワークは、リボン コンテキスト メニューの [リボンの最小化] 選択を通じて、この機能をエンド ユーザーに公開します。
リボンを非表示にする
リボン フレームワーク アプリケーションでは、 UI_PKEY_Viewable プロパティ キーの値を true または false に設定することで、リボン コマンド バーの表示可能な状態を動的に設定できます。
表示状態 | プロパティ キーの値 |
---|---|
Visible | false |
[非表示] | true |
UI_PKEY_Minimized プロパティとは対照的に、UI_PKEY_Viewable を false に設定すると、リボン UI は非表示になり、エンド ユーザーには完全に使用できなくなります。
次のスクリーン ショットは、非表示状態のリボンを示しています。
例
次の例では、実行時にリボン UI の状態を設定する方法を示します。
この場合、 IUICommandHandler::Execute 関数を使用して、 トグル ボタンの切り替え状態に基づいてリボン UI を展開または折りたたみします。
//
// FUNCTION: Execute()
//
// PURPOSE: Called by the Ribbon framework when a Command is executed
// by the user.
// This example demonstrates a handler for a Toggle Button
// that sets the minimized state of the ribbon UI.
//
// NOTES: g_pFramework is a global pointer to an IUIFramework object
// that is assigned when the Ribbon framework is initialized.
//
// g_pRibbon is a global pointer to the IUIRibbon object
// that is assigned when the Ribbon framework is initialized.
//
STDMETHODIMP CCommandHandler::Execute(
UINT nCmdID,
UI_EXECUTIONVERB verb,
__in_opt const PROPERTYKEY* key,
__in_opt const PROPVARIANT* ppropvarValue,
__in_opt IUISimplePropertySet* pCommandExecutionProperties)
{
HRESULT hr = E_FAIL;
if (verb == UI_EXECUTIONVERB_EXECUTE)
{
switch (nCmdID)
{
// Minimize ribbon Command handler.
case IDR_CMD_MINIMIZE:
if (g_pFramework)
{
IPropertyStore *pPropertyStore = NULL;
hr = g_pRibbon->QueryInterface(__uuidof(IPropertyStore),
(void**)&pPropertyStore);
if (SUCCEEDED(hr))
{
if (ppropvarValue != NULL)
{
// Is the ToggleButton state on or off?
BOOL fToggled;
hr = UIPropertyToBoolean(*key, *ppropvarValue, &fToggled);
if (SUCCEEDED(hr))
{
// Set the ribbon display state based on the toggle state.
PROPVARIANT propvar;
PropVariantInit(&propvar);
UIInitPropertyFromBoolean(UI_PKEY_Minimized,
fToggled,
&propvar);
hr = pPropertyStore->SetValue(UI_PKEY_Minimized,
propvar);
pPropertyStore->Commit();
}
pPropertyStore->Release();
}
}
}
break;
}
}
return hr;
}
関連トピック