處理工具提示將 TTN_NEEDTEXT 告知

做為一部分的啟用工具提示,您處理 TTN_NEEDTEXT 者下列項目加入主控視窗的訊息對應的訊息:

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
  • memberFxn
    需要這個按鈕的文字時所要呼叫成員函式。

請注意,工具提示的識別碼永遠是 0。

您在類別定義中的處理常式函式來宣告,如下所示:

afx_msg BOOL OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult);

其中斜體的參數為:

  • id
    傳送告知的控制項識別碼。不適用。控制項 id 來自 NMHDR 結構。

  • pNMHDR
    變數的指標, NMTTDISPINFO 結構。此結構也會討論如何在進一步 TOOLTIPTEXT 結構

  • pResult
    變數的指標,結果程式碼將會傳回之前。TTN_NEEDTEXT 處理常式可以忽略pResult參數。

在表單檢視通知處理常式的範例:

BOOL CMyDialog::OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(id);

   NMTTDISPINFO *pTTT = (NMTTDISPINFO *) pNMHDR;
   UINT_PTR nID = pNMHDR->idFrom;
   BOOL bRet = FALSE;

   if (pTTT->uFlags & TTF_IDISHWND)
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
      if(nID)
      {
         _stprintf_s(pTTT->szText, sizeof(pTTT->szText) / sizeof(TCHAR), 
            _T("Control ID = %d"), nID);
         pTTT->hinst = AfxGetResourceHandle();
         bRet = TRUE;
      }
   }

   *pResult = 0;

   return bRet;
}

呼叫EnableToolTips (取自這個片段OnInitDialog):

EnableToolTips(TRUE);

請參閱

概念

這並非衍生自 CFrameWnd 的 Windows 中的工具祕訣