顯示功能區
Windows 功能區架構會公開一組屬性,可讓應用程式指定在執行時間顯示功能區 UI 的方式。
簡介
若要將檔空間可用的區域最大化, (或檢視功能區架構應用程式的) ,應用程式可以指定功能區 UI 是可見還是隱藏,而且在可見時,功能區是否處於展開或折迭狀態。
下表所列的 架構屬性索引鍵 是用來明確設定功能區架構應用程式中功能區 UI 的顯示特性。 這些屬性不會影響 內容快顯 控制項的顯示。
顯示狀態 | 功能區屬性索引鍵 |
---|---|
展開或折迭 | UI_PKEY_Minimized |
可見或隱藏 | UI_PKEY_Viewable |
最小化功能區
功能區架構應用程式可以將 UI_PKEY_Minimized 屬性索引鍵的值設定為 true 或 false,以動態方式設定功能區命令列的最小化狀態。
顯示狀態 | 屬性值 |
---|---|
展開 | false |
Collapsed | true |
當功能區 UI 處於最小化狀態時,功能區索引標籤資料列會保持可見且功能完整。
下列螢幕擷取畫面顯示處於最小化狀態的功能區。
注意
功能區架構會透過功能區操作功能表的 [最小化功能區] 選取,向終端使用者公開這項功能。
隱藏功能區
功能區架構應用程式可以將 UI_PKEY_Viewable 屬性索引鍵的值設定為 true 或 false,以動態方式設定功能區命令列的可檢視狀態。
顯示狀態 | 屬性值 |
---|---|
可見 | false |
Hidden | 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;
}
相關主題