Click here to Skip to main content
11,496,146 members (597 online)
The site is currently in read-only mode for maintenance. Posting of new items will be available again shortly.
See more: MFC tabs
Hi all,
I created an MDI application and I want to show a tooltip containing document path when I move cursor on the relative tab (the same behaviour of Visual Studio).
I found this article:

How to obtain the absolute path of the tab(ToolTip) for mouse .[^]

but I cannot get path (or name) of the document. CMFCBaseTabCtrl struct contains a lot of informations such as tab index, but I cannot use this value to loop on open documents if I allow tab swapping or if I divide the View in two or more parts dragging and dropping a tab in the View.

Could you somebody please help me?

Thanks a lot
Posted 9-Feb-12 0:04am
symreds464

1 solution

Please extend the parent of your tab Smile | :) :

1. Its message map:
ON_REGISTERED_MESSAGE(AFX_WM_ON_GET_TAB_TOOLTIP, OnTabToolTipNeeded)

2. Its function:
LRESULT CYourFrame::OnTabToolTipNeeded(WPARAM wParam, LPARAM lParam)
{
  if (m_cTabCtrl.GetSafeHwnd()) {
    CMFCTabToolTipInfo* pcInfo = (CMFCTabToolTipInfo*) lParam;
    if (pcInfo) {
      CString cszText;
      if (m_cTabCtrl.GetTabLabel(pcInfo->m_nTabIndex, cszText) &&
          cszText.GetLength()) {
        CYourView* pcView(DYNAMIC_DOWNCAST(CYourView, m_cTabCtrl.GetTabWnd(pcInfo->m_nTabIndex)));
        if (pcView->GetSafeHwnd()) {
          cszText += _T(" [");
          cszText += pcView->GetPath();
          cszText += _T("]");
        }
        pcInfo->m_strText = cszText;
      }
    }
  }
  return 0;
}
  Permalink  
Comments
symreds at 9-Feb-12 7:55am
   
thank you very much!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 10,401
1 OriginalGriff 8,910
2 Sascha Lefèvre 3,899
3 Maciej Los 3,422
4 Richard Deeming 2,600


Advertise | Privacy | Mobile
Web02 | 2.8.150520.1 | Last Updated 9 Feb 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100