怎么让提示气泡在菜单位置显示?(100分)

  • 主题发起人 主题发起人 winni
  • 开始时间 开始时间
W

winni

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么让提示气泡在菜单位置显示?
 
可以实现,在onselectItem 时, 同时显示 balloonTip 就可以啦, 普通的显示方法没有大区别。
 
balloonTip 怎么显示?
 
procedure ShowBalloonTip(Control: TWinControl; Icon: integer; Title: pchar; Text:
PChar);
var
hWnd: THandle;
hWndTip: THandle;
ti: TOOLINFO;
pt: Tpoint;
begin
hWnd := Control.Handle;
hWndTip := CreateWindow(TOOLTIPS_CLASS, nil,
WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP,
0, 0, 0, 0, hWnd, 0, HInstance, nil);
if hWndTip <> 0 then
begin
SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
ti.cbSize := SizeOf(ti);
ti.uFlags := {TTF_CENTERTIP or} TTF_TRANSPARENT or TTF_SUBCLASS;
ti.hwnd := hWnd;
ti.lpszText := Text;
Windows.GetClientRect(hWnd, ti.rect);
SendMessage(hWndTip, TTM_ADDTOOL, 1, integer(@ti));
pt:=point(10, 10);
// sendmessage(hWndTip, TTM_WINDOWFROMPOINT, 0, integer(MAKELPARAM(pt.X, pt.Y)));
SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4, Integer(Title));
// setWindowpos(hWndTip, HWND_TOPMOST, 1, 1, 0, 0, SWP_NOSIZE or SWP_NOACTIVATE);
end;
end;
 
Raize里有控件可以实现
 

Similar threads

回复
0
查看
804
不得闲
D
回复
0
查看
825
DelphiTeacher的专栏
D
D
回复
0
查看
831
DelphiTeacher的专栏
D
D
回复
0
查看
664
DelphiTeacher的专栏
D
后退
顶部