【问题标题】:MFC Statusbar - Making text a link with button behaviorMFC 状态栏 - 使文本成为具有按钮行为的链接
【发布时间】:2014-06-19 06:37:57
【问题描述】:

我正在尝试在 MFC 应用程序中使用状态栏,如 here 所述

我设法将项目添加到我的状态栏,如链接中所述。 没有什么我可以在这里作为代码参考发布的,因为它目前在链接中是 1:1。 我想要的是使文本成为一个链接,这样当点击时,我会捕捉到这个回调并做一些事情。 我找不到怎么做,但我以前在应用程序中看到过。

【问题讨论】:

  • 我已经多年没有使用 MFC 做任何事情了,但我们曾经插入一个自定义 CStatic 控件来提供超链接功能。实际上并不太难。
  • 怎么办?有什么参考资料可以解释吗?

标签: c++ mfc statusbar


【解决方案1】:

我使用类似的东西,但你需要从 CStatusBar 派生你自己的类。


a) 将以下代码放在派生的 StatusBar.cpp 的顶部
BEGIN_MESSAGE_MAP(CMyStatusBar, CStatusBar)
    ON_WM_LBUTTONUP()
END_MESSAGE_MAP()


b) 在派生的 StatusBar.h 中为 CMyStatusBar 添加以下声明
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);


c) 稍后将以下代码放在派生的 StatusBar.cpp 中
void CMyStatusBar::OnLButtonUp(UINT nFlags, CPoint point)
{   CRect rc;
    int nPaneIndex = CommandToIndex(ID_INDICATOR_TIME);
    GetStatusBarCtrl().GetRect(nPaneIndex, &rc);
    if (rc.PtInRect(point))
    {   // do something
    }
}

【讨论】:

  • 我认为您的意思是为标题声明编写 OnLButtonUp
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-05
相关资源
最近更新 更多