다음을 통해 공유


CWnd::EnableToolTips

지정 된 창에 대 한 도구 설명이 있습니다.

BOOL EnableToolTips(
   BOOL bEnable = TRUE
);

매개 변수

  • bEnable
    도구 설명 컨트롤의 활성화 여부를 지정 합니다.True 이면 수 있는 컨트롤입니다. False 이면 컨트롤을 사용할 수 없습니다.

반환 값

True 이면 도구를 사용 하는 경우. 그렇지 않으면 거짓.

설명

재정의 OnToolHitTest 제공 하는 TOOLINFO 구조체 또는 구조체 창의.

[!참고]

일부 windows 같은 CToolBar, 기본 제공 구현을 제공 OnToolHitTest.

참조 TOOLINFO 에 있는 Windows SDK 이 구조에 대 한 자세한 내용은.

단순히 호출 EnableToolTips 부모 창에서 파생 되지 않은 경우 해당 자식 컨트롤에 대 한 도구 설명을 표시 하는 것 만으로는 충분 하지 않습니다 CFrameWnd.이 때문에 CFrameWnd 에 대 한 기본 처리기를 제공의 TTN_NEEDTEXT 알림.부모 창에서 파생 되지 않은 경우 CFrameWnd, 즉, 대화 상자 또는 폼 보기에 있으면 컨트롤이 표시 되지 않습니다 제대로 대 한 처리기를 제공 하지 않으면 어린이 대 한 도구는 TTN_NEEDTEXT 도구를 팁 알림.참조 도구 팁.

기본 도구 설명을 제공 하 여 windows에 대 한 EnableToolTips 해당 텍스트가 없는.표시할 도구 설명 텍스트를 검색 하는 TTN_NEEDTEXT 알림 방금 도구 설명 창이 표시 되기 전에 도구 설명 컨트롤이 부모 창에 전송 됩니다.일부 값을 할당 하려면이 메시지에 대 한 처리기 인지는 pszText 의 멤버는 TOOLTIPTEXT 구조, 텍스트에 대 한 도구 설명이 표시 됩니다.

예제

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

요구 사항

헤더: afxwin.h

참고 항목

참조

CWnd 클래스

계층 구조 차트

CWnd::CancelToolTips

CWnd::OnToolHitTest

CToolBar 클래스

TOOLINFO