📄 untitled-18.txt
字号:
cbsize保存结构的大小。dwFlags保存位标志用来指定调用者想要执行的操作:注册接
收WM.MOUSELEAVE消息(TME.LEAVE),注册接收WM.MOUSEHOVER消息(TME.HOV-
ER),取消WM_MOUSELEAVE和WM.MOUSEHOVER消息(TME.CANCEL),或允许系统用
当前:: TrakMouseEVent设置填写 TRACKMOUSEEVENT结构(TME.QUERY)。 hwndTrack是窗
口的句柄,对此窗口将生成WM—MOUSELEAVE和WM.MOUSEHOVER消息。dwHoverTime
是以毫秒计时的时间长度,光标必须暂停这么久,WM.MOUSEHOVER消息才向它下面的窗
口发送。您可以设置 dwHoverTme等于 HOVER—DEFAULT,以接受系统提供的默认值400
毫秒。
光标并非必须纹丝不动系统才产生WM.MOUSEHOVER消息。如果光标所在矩形的宽
度和高度与用 SPI—GETMOUSEHOVERWIDTH和 SPI—GETMOUSEHOVERHEIGHT参数调用::
SystemPalameterSInfo返回的值相同,并且它停留的时间与用SPI—SETMOUSEHOVERTIME调用
SystelnParmeterslnfo返回的值也相同时,就会产生WM.MOUSEHOVER消息。如果愿意,您
可以用SPI.SETMOUSEHOVERWIDTH,SPL-SETMOUSEHOVERHEIGHT以及SPI.SETMOUSE-
HOVERTIME值调用:: SystemParameterslnfO来修改这些参数。
有关:: TrackMouseEvent的使用,更有趣的是在产生 WM—MOUSELEAVE或 WM.MOUSE-
HOVER消息时,它的影响就消失了。这意味着如果您在光标离开或停留在窗口上时任何时
候想接收这些消息,就必须在收到WM—MOUSELEAVE或WM—MOUSEHOVER消息时重新调
用:: TrakMouseEvent。为便于说明,下列代码断在鼠标进人、离开或停留在窗口上时将
Mouse enter、Mouse leave、或Mouse hover”写到了调试输出窗口。。bMouseover是一个
B00L CMainwindow成员变量。它应该在类构造函数中被设置为 FAthE:
人 In the message map
ONWM-MOUSEMOVE()
ONMESSAGE(WM.MOUSELEAVE, onMouseLeave)
ONMESSAGE(WM-MOUSEHOVER, onMouseHover)
void CMainwindow:: onMouseM。ye(UINT "Flags, CPoint point)
I
。f(!。bMouseover) l
TRACE(T(”Mouse enter\n”));
bM00SSOSSS= TRUE;
TRACKMOUSEEVENT tine;
tine.ohs。ie= s。zeof(t。e);
me.dw F工*gS=**E.*OV*R g**E.**AV E;
t--.h-dT--Ck= hwfld;
tee.dwh 0000T主mo=HOVER-DEFAULT;
::TrackMouseEvent(&tine);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -