Aracılığıyla paylaş


Araç İpuçları için TTN_NEEDTEXT Bildirimini İşleme

Araç ipuçlarını etkinleştirmenin bir parçası olarak, sahip pencerenizin ileti haritasına aşağıdaki girdiyi ekleyerek TTN_NEEDTEXT iletisini işlersiniz:

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)

memberFxn
Bu düğme için metin gerektiğinde çağrılacak üye işlevi.

Bir araç ipucunun kimliğinin her zaman 0 olduğunu unutmayın.

sınıf tanımında işleyici işlevinizi aşağıdaki gibi bildirin:

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

italik parametreler şunlardır:

id
Bildirimi gönderen denetimin tanımlayıcısı. Kullanılmadı. Denetim kimliği NMHDR yapısından alınır.

pNMHDR
NMTTDISPINFO yapısının işaretçisi. Bu yapı, TOOLTIPTEXT Yapısı bölümünde daha ayrıntılı olarak ele alınmıştı.

pResult
Dönmeden önce ayarlayabileceğiniz sonuç kodunun işaretçisi. TTN_NEEDTEXT işleyicileri pResult parametresini yoksayabilir.

Form görünümü bildirim işleyicisine örnek olarak:

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

Çağrısı EnableToolTips (bu parçadan OnInitDialogalınmıştır):

EnableToolTips(TRUE);

Ayrıca bkz.

CFrameWnd'den Türetilmemiş Pencerelerde Araç İpuçları