托盘事件处理流程
2017-01-04 17:00:27 0 举报
托盘事件处理流程主要包括以下几个步骤:首先,用户通过操作界面触发一个托盘事件,如拖动、点击等。然后,操作系统接收到这个事件后,将其转化为系统可以理解的指令。接着,操作系统根据指令调用相应的事件处理函数,进行事件的处理。在处理过程中,可能会涉及到与硬件设备的交互,如鼠标、键盘等。处理完成后,操作系统将处理结果反馈给用户,如改变托盘的位置、显示提示信息等。最后,用户可以通过反馈信息了解事件处理的结果,从而进行下一步的操作。整个流程以事件为驱动,通过操作系统的调度和管理,实现了用户与硬件设备之间的交互。
作者其他创作
大纲/内容
在托盘窗体类中包含一个鼠标位置的类CTrayPos,创建托盘窗体的时候会自动初始化该类并建立一个检测当前鼠标所在位置的线程
对于用户关心的自定义的message走用户自定义窗口事件处理函数
是否跟踪鼠标位置?每次从托盘外初次移入托盘内该初始值都为否
一次鼠标移动事件捕获处理结束
否
等待指定时间目前是2s
是
鼠标位置比较,访问临界资源
访问临界资源获取并保存鼠标当前位置在成员变量中
设置跟踪鼠标位置为true,以后鼠标在托盘内移动就都不会去触发hover事件
触发并向页面发送鼠标移出托盘事件
不关心的窗口消息走认的窗口处理函数DefWindowProc
获取鼠标当前位置
对捕获到的鼠标在窗体上的移动消息WM_MOUSEMOVE处理
设置跟踪鼠标位置标识为FALSE
窗体创建时绑定了事件回调函数WndProcStatic
是否跟踪鼠标位置
发送hover事件给页面
当前鼠标位置和鼠标移动事件捕获中保存的鼠标位置是偶完全相等
检测当前鼠标位置
0 条评论
回复 删除
下一页