다음을 통해 공유


도구 설명에 대한 TTN_NEEDTEXT 알림 처리

도구 팁을 사용하도록 설정하면 소유자 창의 메시지 맵에 다음 항목을 추가하여 TTN_NEEDTEXT 메시지를 처리합니다.

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

memberFxn
이 단추에 텍스트가 필요할 때 호출할 멤버 함수입니다.

도구 설명의 ID는 항상 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에서 파생되지 않은 창의 도구 설명