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