[英]How can I create my own custom Hint for a specific control?
我需要為特定控件(而不是整個應用程序)創建自定義提示窗口(具有其自己的顏色和布局)
提示文本本身將不會連接到該特定的Hint
屬性控件。
如建議的那樣,我為CM_HINTSHOW
編寫了一個處理程序(如果Control具有ShowHint=True
則可以使用該處理程序):
procedure TMyControl.CMHintShow(var Message: TMessage);
begin
Form1.caption := 'x';
// Here I will display my own Hint window
// inherited;
end;
但是現在,當提示超時時,我如何知道何時/何處隱藏它? CM_HINTSHOW
或CM_HINTSHOWPAUSE
給我此信息。
在CM_HINTSHOW
消息處理程序中,可以將lParam
值PHintInfo
轉換為PHintInfo
指針,然后根據需要自定義其字段。 例如,要簡單地更改背景顏色,請設置THintInfo.HintColor
字段。 要更改提示的布局,可以從THintWindow
派生一個新類,然后將該類類型分配給THintInfo.HintWindowClass
字段。
讓VCL為您管理提示,包括顯示和隱藏提示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.