在Delphi 5中,这曾经起作用.我有一个来自TCustomControl的组件,我实现了cmmouseleave消息:
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
Run Code Online (Sandbox Code Playgroud)
现在,如果我只是将鼠标移到控件上,则会触发消息,但如果我在按住鼠标左键的同时移动鼠标,则不会触发相同的消息.AFAIK我没有调用begindrag方法,并且dragmode设置为手动.什么可能发生的任何线索?
按左按钮时捕获鼠标.因此,WM_MOUSEMOVE即使鼠标在控件之外,控件也会接收鼠标移动消息().释放按钮时,它将收到鼠标离开消息.这也应该是D5的情况.
如果您不希望捕获鼠标以响应a csCaptureMouse,ControlStyle则可以排除WM_LBUTTONDOWN.
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |