我需要为特定控件(而不是整个应用程序)创建一个自定义提示窗口(具有自己的颜色和布局)
提示文本本身不会连接到该特定的Hint
财产控制。
按照建议,我编写了一个处理程序CM_HINTSHOW
(如果控件有此功能,则此方法有效ShowHint=True
):
procedure TMyControl.CMHintShow(var Message: TMessage);
begin
Form1.caption := 'x';
// Here I will display my own Hint window
// inherited;
end;
但现在,我怎么知道何时/何地hide当提示超时时呢?两者都不CM_HINTSHOW
or CM_HINTSHOWPAUSE
给我这个信息。
In your CM_HINTSHOW
消息处理程序,您可以强制转换lParam
值对一个PHintInfo
指针,然后根据需要自定义其字段。例如,要简单地更改背景颜色,请设置THintInfo.HintColor
场地。要更改提示的布局,您可以从派生一个新类THintWindow
并将该类类型分配给THintInfo.HintWindowClass
field.
让 VCL 为您管理提示,包括显示和隐藏它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)