Wie kann ich für eine CMFCRibbonButton in der Statusleiste ein Tooltip angezeigt werden?
-
05-07-2019 - |
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!
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.