假设static控件的id为IDC_STATIC_QUESTIONMARK
在OnInitDialog中这样写
{
((CStatic*)(GetDlgItem(IDC_STATIC_QUESTIONMARK)))->ModifyStyle(0, SS_NOTIFY | SS_BITMAP | SS_CENTERIMAGE);
m_pContextTip = new CToolTipCtrl;
if (m_pContextTip)
{
m_pContextTip->Create(this, TTS_ALWAYSTIP);
m_pContextTip->SetMaxTipWidth(300);
m_pContextTip->SetDelayTime(TTDT_AUTOPOP,30000); //显示为30s 注意不能超过32768 否则变成了默认500ms
m_pContextTip->AddTool(GetDlgItem(IDC_STATIC_QUESTIONMARK),_T("测试ToolTip");
m_pContextTip->Activate(TRUE);
}
}
接下来在消息处理中增加
BOOL PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_MOUSEMOVE || pMsg->message == WM_MOUSELEAVE)
{
m_pContextTip->RelayEvent(pMsg);
}
}
接下来,运行对话框,鼠标移动到这个STATIC控件上,您需要的ToolTip即可显示。