ステータスバーにCMFCRibbonButtonのツールチップを表示するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/253469

質問

メインフレームに CMFCRibbonStatusBar があり、ここに CMFCRibbonButtonsGroup を追加します。このコードには再び CMFCRibbonButton があります。このボタンには、メニューエントリと同じIDがあります。

ボタンの作成は次のように行われます:

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

このボタンをステータスインジケータとして使用します。

次の2つの場合にツールヒントを表示したい:

  • ステータスが変更されたとき
  • ユーザーがマウスをボタンの上に移動したとき。

最初から始める方法がわかりません。 ToolTipDemo DlgToolTips のサンプルプロジェクトを見てきましたが、ツールバー項目またはダイアログボタンのツールチップを表示するだけなので、実行方法を理解できませんでした(< CMFCRibbonButton )の代わりにcode> CWnd から派生)。

ToolTipDemo サンプルプロジェクトに精通している場合:いくつかの方法があるように思われるため、ツールチップは「拡張ビジュアルマネージャーベース」のように見えることを好みます。 このスクリーンショットに示されているとしてのツールチップ。

ありがとう!

役に立ちましたか?

解決

マウスカーソルをコントロール上に置かずにツールチップを表示することは不可能だと思います。それはすべて自動的に行われます。

ただし、スクリーンショットのような見栄えの良いツールチップを使いたい場合は、次のように SetToolTipText SetDescription を呼び出す必要があります。

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

他のヒント

CMFCRibbonButtonBar 内の CMFCRibbonButton コントロールを使用しています。これは CMFCRibbonStatusBar に追加されます。 CMFCRibbonButton()コンストラクターの4番目のパラメーターである bAlwaysShowDescription に注意してください。これは、 SetDescription()が呼び出されました。

特に、 SetDescription()が呼び出されていない場合、 bAlwaysShowDescription がTRUEかFALSEかは関係ありません-ツールチップが表示されます(予想どおり) )。 SetDescription()が設定され、 bAlwaysShowDescription がFALSEの場合、ボタンにカーソルを合わせると、ツールチップがその下に説明とともに表示されます。

この bAlwaysShowDescription パラメーターの名前を考えると直観に反すると思われるのは、これがTRUEで SetDescription()が設定されている場合、 NEITHER ツールチップも説明も表示されます。これはこの投稿に関連するのだろうか? https://connect.microsoft .com / VisualStudio / feedback / details / 399646 / cmfcribbonbutton-wont-show-tooltip-if-balwaysshowdescription-1

これが役立ち、 bAlwaysShowDescription パラメーターのさまざまな組み合わせと SetDescription()が設定されているかどうかで必要なものを実現できることを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top