Exibindo a faixa de opções
A estrutura da Faixa de Opções do Windows expõe um conjunto de propriedades que permitem que um aplicativo especifique como a interface do usuário da Faixa de Opções é exibida em tempo de execução.
Introdução
Para maximizar a área disponível para o espaço do documento (ou a porta de exibição) de um aplicativo de estrutura da Faixa de Opções, um aplicativo pode especificar se a interface do usuário da faixa de opções está visível ou oculta e, quando visível, se a faixa de opções está em um estado expandido ou recolhido.
As chaves de propriedade da estrutura listadas na tabela a seguir são usadas para definir explicitamente as características de exibição da interface do usuário da faixa de opções em um aplicativo de estrutura da Faixa de Opções. Essas propriedades não têm efeito na exibição do controle Pop-up de Contexto .
Estado de exibição | Chave de Propriedade da Faixa de Opções |
---|---|
Expandido ou recolhido | UI_PKEY_Minimized |
Visível ou oculto | UI_PKEY_Viewable |
Minimizar a faixa de opções
Um aplicativo de estrutura da Faixa de Opções pode definir dinamicamente o estado minimizado da barra de comandos da faixa de opções definindo o valor da chave de propriedade UI_PKEY_Minimized como true ou false.
Estado de exibição | Valor da chave de propriedade |
---|---|
Expanded | false |
Recolhido | true |
Quando a interface do usuário da faixa de opções está em um estado minimizado, a linha guia da faixa de opções permanece visível e totalmente funcional.
A captura de tela a seguir mostra a faixa de opções no estado minimizado.
Observação
A estrutura da Faixa de Opções expõe essa funcionalidade ao usuário final por meio da seleção "Minimizar a Faixa de Opções" do menu de contexto da faixa de opções.
Ocultar a Faixa de Opções
Um aplicativo de estrutura da Faixa de Opções pode definir dinamicamente o estado acessível da barra de comandos da faixa de opções definindo o valor da chave de propriedade UI_PKEY_Viewable como true ou false.
Estado de exibição | Valor da chave de propriedade |
---|---|
Visible | false |
Hidden | true |
Ao contrário da propriedade UI_PKEY_Minimized , definir UI_PKEY_Viewable como false torna a interface do usuário da faixa de opções invisível e completamente inutilizável para um usuário final.
A captura de tela a seguir mostra a faixa de opções no estado oculto.
Exemplo
O exemplo a seguir demonstra como definir o estado da interface do usuário da faixa de opções em tempo de execução.
Nesse caso, a função IUICommandHandler::Execute é usada para expandir ou recolher a interface do usuário da faixa de opções com base no estado de alternância de um Botão de Alternância.
//
// 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;
}
Tópicos relacionados