Pergunta

Eu tenho um CMFCRibbonStatusBar na minha mainframe para que eu adicionar um CMFCRibbonButtonsGroup que novamente tem um CMFCRibbonButton. Este botão tem o mesmo ID como um item de menu.

Criando o botão é feito da seguinte forma:

CMFCRibbonButtonsGroup* pBGroup = new CMFCRibbonButtonsGroup();

CMFCToolBarImages images;
images.SetImageSize(CSize(32, 16)); // Non-square bitmaps
if(images.Load(IDB_STATUSBAR_IMAGES))
{
    pBGroup->SetImages(&images, NULL, NULL);
}

m_pStatusButton = new CMFCRibbonButton(ID_STATUS_SHOWSTATUS,
                                       _T(""),
                                       IMAGEINDEX_DEFAULTSTATUS);

pBGroup->AddButton(m_pStatusButton);

m_wndStatusBar.AddExtendedElement(pBGroup, _T(""));

Eu quero usar este botão como um indicador de status.

Eu quero exibir uma dica de ferramenta nos dois casos seguintes:

  • quando as mudanças de status e
  • quando o usuário move o mouse sobre o botão.

Eu não tenho nenhuma idéia de como começar em primeiro lugar. Eu olhei para os projectos ToolTipDemo e amostras DlgToolTips mas não conseguia descobrir como fazê-lo uma vez que todos eles fazem é exibir dicas de ferramentas para os itens da barra de ferramentas ou botões de diálogo (em vez de CWnd derivados de CMFCRibbonButton).

Se você está familiarizado com o projeto de exemplo ToolTipDemo: Desde parece haver várias maneiras de fazer as coisas, eu preferiria a dica para se parecer com a ponta "baseadas em Gerente de Visual estendida" ferramenta como mostrado neste screenshot .

Obrigado!

Foi útil?

Solução

Eu não acho que é possível mostrar a dica de ferramenta sem o mouse cursor estar sobre o controle. Isso é feito automaticamente.

No entanto, se você quiser ter um bom olhar dica como em sua imagem, você precisa SetToolTipText chamada e SetDescription, como este:

CMFCRibbonButton* pBtn = new CMFCRibbonButton(12345, _T(""), 1);
pBtn->SetToolTipText("This is the bold Title");
pBtn->SetDescription("This is the not-so-bold Description");
pGroup->AddButton(pBtn);

Outras dicas

Eu estou usando controles CMFCRibbonButton dentro de um CMFCRibbonButtonGroup, que é adicionado ao CMFCRibbonStatusBar. Tome nota do 4º parâmetro no construtor CMFCRibbonButton(), bAlwaysShowDescription, como este parece afetar o comportamento dependendo se SetDescription() foi chamado.

Especificamente, se SetDescription() não foi chamado, não importa se bAlwaysShowDescription é verdadeira ou falsa - a ponta da ferramenta é exibido (como seria de esperar). Se SetDescription() está definido e bAlwaysShowDescription é FALSE, quando pairando sobre o botão da ponta da ferramenta é exibida com a descrição abaixo.

O que parece contraditório dado o nome deste parâmetro bAlwaysShowDescription, é que quando isso é verdade e SetDescription() está definido, NÃO a ponta da ferramenta nem a descrição aparecer. Pergunto-me se isto está relacionado com este post: https://connect.microsoft .com / VisualStudio / feedback / details / 399646 / cmfcribbonbutton-vai-show-tooltip-se-balwaysshowdescription-1

Espero que isso ajude e você pode conseguir o que você precisa com as diferentes combinações de parâmetro bAlwaysShowDescription e se SetDescription() está definido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top