Frage

Ich habe einen CMFCRibbonStatusBar in meinem Mainframe zu dem ich eine CMFCRibbonButtonsGroup hinzufügen, die wiederum eine CMFCRibbonButton hat. Diese Taste hat die gleiche ID als Menüeintrag.

Erstellen der Taste wird wie folgt:

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(""));

Ich mag diese Taste als Statusanzeige verwenden.

Ich möchte eine Werkzeugspitze in den folgenden zwei Fällen angezeigt werden:

  • , wenn sich der Status ändert und
  • , wenn der Benutzer die Maus über die Schaltfläche.

Ich habe keine Ahnung, wie in erster Linie zu starten. Ich habe an den ToolTipDemo und DlgToolTips Beispielprojekte gesucht, aber konnte nicht herausfinden, wie es zu tun, da alles, was sie tun Display Tooltips für die Elemente der Symbolleiste oder Dialogtasten (CWnd abgeleitete statt CMFCRibbonButton) ist.

Wenn Sie mit dem ToolTipDemo Beispielprojekt vertraut sind: Da scheint es mehr Möglichkeiten, die Dinge zu sein, würde ich den Tooltip lieber wie die „erweiterte Visual Manager-basierte“ Werkzeugspitze aussehen: in diesem Screenshot gezeigt.

Danke!

War es hilfreich?

Lösung

Ich glaube nicht, es möglich ist, den Tooltip zu zeigen, ohne den Mauszeiger über die Kontrolle. Das ist alles automatisch.

Wenn Sie jedoch eine gut aussehende Tooltip wie in Ihrem Screenshot haben wollen, müssen Sie SetToolTipText und SetDescription nennen, wie folgt aus:

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);

Andere Tipps

Ich bin mit CMFCRibbonButton Kontrollen innerhalb eines CMFCRibbonButtonGroup, die die CMFCRibbonStatusBar hinzugefügt wird. Beachten Sie den vierten Parameter in der CMFCRibbonButton() Konstruktor bAlwaysShowDescription, da dies das Verhalten zu beeinflussen scheint, je nachdem, ob SetDescription() aufgerufen wurde.

Insbesondere wenn SetDescription() nicht aufgerufen wurde, spielt es keine Rolle, ob bAlwaysShowDescription wahr oder falsch ist - die Werkzeugspitze angezeigt wird (wie ich erwarten würde). Wenn SetDescription() gesetzt und bAlwaysShowDescription ist FALSCH, wenn die Taste Spitze des Werkzeugs schwebt über mit der Beschreibung darunter angezeigt.

Was eingängig den Namen dieses bAlwaysShowDescription Parameter gegeben zu sein scheint, ist, dass, wenn dieser TRUE und SetDescription() gesetzt ist, WEDER die Werkzeugspitze noch die Beschreibung. Ich frage mich, ob dies auf dieses Thema bezogen werden: https://connect.microsoft .com / Visual Studio / Feedback / details / 399.646 / cmfcribbonbutton-wont-show-Tooltip-if-balwaysshowdescription-1

Hope, das hilft und Sie können erreichen, was Sie mit den verschiedenen Kombinationen von bAlwaysShowDescription Parameter benötigen und ob SetDescription() eingestellt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top