显示功能区
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;
}
相关主题