如何为 RxTrayIcon 加上MouseEnter事件?(100分)

  • 主题发起人 主题发起人 xuxiaohan
  • 开始时间 开始时间
X

xuxiaohan

Unregistered / Unconfirmed
GUEST, unregistred user!
如果是普通的Control,很容易实现MouseEnter事件,
期待熟悉RxLib的朋友给出思路或代码,为RxTrayIcon加上 mouseEnter事件。
分不够可以再加!
 
TRxTrayIcon是在它的WndProc过程中处理所有消息的,它没有TControl的消息处理机制,你可以覆盖它的MouseMove保护方法来自己实现MouseEnter事件。
 
MouseMove保护方法来自己实现MouseEnter事件。[blue我可以做到,但这样很别扭][/blue]
还有没有更好的方法?
 
只怕没有了[:(]

不论是TRxTrayIcon还是TControl,他们本质上都是在处理WM_MOUSEMOVE消息。
TRxTrayIcon的WndProc过程是不能覆盖的,你要改这个方法的话就是在写自己的TrayIcon了。[:)]
 
OnEnter是 TWinControl的事件,试试学着改吧,行不?
 
它本身提供的单、双击事件还不够用吗?
 
我真的想请大家帮忙,但也请大家给点耐心,
OnMouseEnter是 TControl的事件,但由TApplication 派发,在TApplication.DoMouseIdle 中派发,
而RxTrayIcon 的消息来自 Shell_NotifyIcon,
RxTrayIcon的WndProc当然可以覆盖,问题覆盖也没有用,
_NOTIFYICONDATAA = record
cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
szTip: array [0..63] of AnsiChar;
end;
的uCallbackMessage中根本就没有Mouse_Enter消息。
----
App2001,我的用途是在Mouse_enter时,屏幕升起收到的消息。

我想这个问题很难有答案,所以我给出一百分。
 
如果回答正确,再加200分!!!!
有没有回答?
 
消息要是简单的话干脆用hint算了
 
libin06:
是个窗口,里面包含连接,象QQ的一样。
你倒提示我,我查查 RxTrayIcon的 hints 机制,看看它怎么实现的
 
本来用application的OnShowHint挺方便的,不过我试过了,不行。
ShowHint和你要求的效果差不多,应该可以用
 
OnEnter是 TWinControl的事件,OnMouseMove才是TControl的事件

这个问题比较有趣,我也来研究一下 [:D]
 
shaga:
你不要搞错了,是 onMouseEnter // Cm_MouseEnter
 
TRxTrayIcon是在哪个文件里声明的,我怎么找不到
 
哦,对,不好意思,呵呵

我也来看看
 
刚看了一下TrayIcon,这个hint的显示好像是由系统控制的,程序只能控制hint的内容。
 
MouseMove事件肯定不能用了,谁知道他往哪里移动,不过VCL终有WM_MOUSEENERT消息跟
WM_MOUSElEAVE消息,你可以查查VCL。只要写一个自己得消息函数应该可以的
 
ReallyFail:
WM_MOUSEENTER?????
cm_mouseEnte才有!
 
是,我没怎么想清楚。不过说的是一回事。你栏这个消息应该可以吧???不过我没用过你说的那个控件,不知道他是从什么继承的,查查看,应该是可以栏的吧???
 
我的XP是这样的:
Shell_TrayWnd : 窗口底部的工具条
->(子窗口) TrayNotifyWnd : 托盘
->(子窗口) TrayClockWClass : 时间区
SysPager : 图标区
->(子窗口) ToolbarWindow32 : (Caption : Notification Area) 图标工具条
Button : XP扩展图标区的按钮
TrayIcon都是调用Shell_NotifyIcon实现的,目前看来程序里没办法自己处理TrayIcon,可不可以截取这个ToolbarWindow32的消息试试。
 

Similar threads

回复
0
查看
995
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部