共用方式為


CWnd::EnableToolTips

啟用指定視窗的工具提示。

BOOL EnableToolTips(
   BOOL bEnable = TRUE
);

參數

  • bEnable
    指定工具提示控制項是否啟用或停用。 啟用控制項, 停用控制項。

傳回值

,如果工具提示,啟用否則

備註

覆寫提供 TOOLINFO 結構或結構的 OnToolHitTest 的視窗。

注意事項注意事項

有些視窗,例如 CToolBar,提供 OnToolHitTest的內建實作。

請參閱在 Windows SDK 的 TOOLINFO 使這個結構的詳細資訊。

除非父視窗從 CFrameWnd,取得呼叫 EnableToolTips 不是顯示您的子控制項的工具提示的足夠。 這是因為, CFrameWndTTN_NEEDTEXT 告知提供預設處理常式。 也就是說,如果您的父視窗從 CFrameWnd不是衍生自,則對話方塊或表單檢視,您的子控制項的工具提示將不會正確地顯示,除非您為 TTN_NEEDTEXT 工具提示提供告知處理常式。 請參閱 工具提示

為您的 Windows 提供的預設工具提示文字。 EnableToolTips 沒有與其關聯的屬性。 在工具提示視窗中顯示之前,要擷取之工具提示的文字,可以顯示 TTN_NEEDTEXT 通知傳送給工具提示控制項的父視窗。 如果沒有這個訊息的處理常式可以指派值給陣列 TOOLTIPTEXT 結構的 pszText 成員,就不會出現在工具提示中顯示的文字。

範例

// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
void CMdiView::OnInitialUpdate()
{
   CView::OnInitialUpdate();

   m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
      CRect(10, 10, 100, 100), this, IDC_TTEDIT);
   EnableToolTips(TRUE);   // enable tool tips for view
}

//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult)
{
   UNREFERENCED_PARAMETER(id);
   UNREFERENCED_PARAMETER(pResult);

   // need to handle both ANSI and UNICODE versions of the message
   TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
   TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
   CStringA strTipText;
   UINT_PTR nID = pNMHDR->idFrom;
   if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
      pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
   }

   if (nID != 0) // will be zero on a separator
      strTipText.Format("Control ID = %d", nID);

   if (pNMHDR->code == TTN_NEEDTEXTA)
   {
      strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText, 
         strTipText.GetLength() + 1);
   }
   else
   {
      ::MultiByteToWideChar(CP_ACP , 0, strTipText, strTipText.GetLength() + 1,
         pTTTW->szText, sizeof(pTTTW->szText)/(sizeof pTTTW->szText[0]));
   }

   return TRUE;    // message was handled
}

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

CWnd::CancelToolTips

CWnd::OnToolHitTest

CToolBar 類別

TOOLINFO