1、CWnd中的ToolTip会在接受定时器消息的时候判断当前的光标位置,这段代码不知如何写的,估计直接调用了系统API获得光标位置
2、所以尝试使用PostMessage(WM_MOUSEMOVE)去触发ToolTip是可能的,但是无法显示,因为显示的代码在ToolTip的定时器中延时显示。
3、所以必须设置光标位置,但是ToolTip发现任何键盘消息时都会取消显示,所以在控件获得焦点时设置光标位置是不行的,因为后面会有键盘抬起消息,这样就立刻取消了ToolTip的显示。
4、所以必须在定时器中设置光标位置
注意控件获得焦点时ON_EN_SETFOCUS
组合框获得焦点时ON_CBN_SETFOCUS
其实最好还是去网上下载别人写好的ToolTip类代码,那样有更多功能,比如多行显示、字体、颜色等等