CToolTipCtrl控件在窗口非激活状态不显示
经过调查需要给CToolTipCtrl控件增加TTS_ALWAYSTIP属性
CToolTipCtrl使用示例:
1,声明CToolTipCtrl
CToolTipCtrl m_tooltip;
2,创建CToolTipCtrl同时设置属性
m_tooltip.Create(m_hWnd);
DWORD toolTipStyle = m_tooltip.GetWindowLong(GWL_STYLE);
toolTipStyle |= TTS_ALWAYSTIP;
m_tooltip.SetWindowLong(GWL_STYLE, toolTipStyle);
m_tooltip.ModifyStyleEx(0, WS_EX_TRANSPARENT);
m_tooltip.Activate(TRUE);
3,增加提示区域内容
m_tooltip.AddTool(
m_hWnd, /* 父窗口句柄 */
text, /* 提示内容 */
rcTool, /* 提示区域 */
nID /* 提示工具编号 : 从1开始 */
);
4,在MouseMove消息中增加
LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
MSG msg;
memset(&msg, 0, sizeof(msg));
msg.hwnd = m_hWnd;
msg.lParam = lParam;
msg.message = uMsg;
msg.time = 0;
msg.wParam = wParam;
m_tooltip.RelayEvent(&msg);
}