Sdílet prostřednictvím


CWnd::EnableToolTips

Tipy pro dané okno umožňuje.

BOOL EnableToolTips( 
   BOOL bEnable = TRUE 
);

Parametry

  • bEnable
    Určuje, zda je povoleno řízení tip nástroje.TRUE povoluje řízení; FALSE ovládací prvek zakáže.

Vrácená hodnota

TRUE Pokud jsou povoleny tipy nástrojů; jinak FALSE.

Poznámky

Přepsat OnToolHitTest poskytnout TOOLINFO struct nebo struktur okna.

[!POZNÁMKA]

Některá okna, jako například CToolBar, poskytují předdefinované provádění OnToolHitTest.

Viz TOOLINFO v Další informace o této struktury.

Jednoduše volání EnableToolTips není dostatečně zobrazte Tipy pro vaše dítě ovládací prvky, pokud nadřazené okno je odvozen od CFrameWnd .Důvodem je, že CFrameWnd poskytuje výchozí pro zpracování TTN_NEEDTEXT oznámení.Pokud nadřazené okno není odvozena od CFrameWnd , který je, pokud je dialogové okno nebo ve formulářovém zobrazení, tipy nástrojů pro ovládací prvky nezobrazí správně, pokud nestanoví obslužnou rutinu pro děti TTN_NEEDTEXT oznámení tip nástroje.Viz tipy.

Výchozí tipy podle systému windows pomocí EnableToolTips text spojený s nimi nemají.Načíst text tipu nástroje zobrazíte TTN_NEEDTEXT odesláno oznámení nadřazené okno Ovládací tip nástroje těsně před, zobrazí se okno tip nástroje.Pokud neexistuje žádný popisovač přiřadit hodnotu některé zprávy pszText člen popsané tlačítko struktury, nebude existovat žádný text, zobrazí tip nástroje.

Příklad

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

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CWnd

Graf hierarchie

CWnd::CancelToolTips

CWnd::OnToolHitTest

Třída CToolBar

TOOLINFO