自定义事件的一点疑问
我定义了一个新类TMyImage,从TImage继承,重定义了WndProc虚函数,
在其中截获CM_MOUSEENTER,CM_MOUSELEAVE两个消息,并相应地定义了
OnMouseEnter和OnMouseLeave两个事件。但是我发现当有另一个窗口以
模态显示时,我的TMyImage仍然会发生OnMouseLeave和OnMouseEnter这两个
事件,而对从TImage继承下来的事件,如OnClick等却不会发生。一开
始以为是因为Enabled属性已经为false了,而我自定义事件调度函数中没有
考虑Enabled属性,所以自定义事件仍然发生,继承下来的事件却不发生。
后来我试了一下,发现Enabled属性没变,仍然为true。也就是说另外
一个模态窗口正在显示时,主窗口和它包容的控件不接受任何用户输入与
Enabled属性无关,那它是怎么做到不接受用户输入的呢?我要怎么样做,
才能使我的主窗口中的TMyImage在有另外一个模态窗口显示时不发生
OnMouseEnter和OnMouseLeave这两个事件呢?
在其中截获CM_MOUSEENTER,CM_MOUSELEAVE两个消息,并相应地定义了
OnMouseEnter和OnMouseLeave两个事件。但是我发现当有另一个窗口以
模态显示时,我的TMyImage仍然会发生OnMouseLeave和OnMouseEnter这两个
事件,而对从TImage继承下来的事件,如OnClick等却不会发生。一开
始以为是因为Enabled属性已经为false了,而我自定义事件调度函数中没有
考虑Enabled属性,所以自定义事件仍然发生,继承下来的事件却不发生。
后来我试了一下,发现Enabled属性没变,仍然为true。也就是说另外
一个模态窗口正在显示时,主窗口和它包容的控件不接受任何用户输入与
Enabled属性无关,那它是怎么做到不接受用户输入的呢?我要怎么样做,
才能使我的主窗口中的TMyImage在有另外一个模态窗口显示时不发生
OnMouseEnter和OnMouseLeave这两个事件呢?
...全文
相关推荐
Cpage.js给组件绑定事件的实现代码
Cpage.js是一款轻量级的Mvvm框架,使用TypeScript(JavaScript的超集)开发。下面通过本文给大家分享Cpage.js给组件绑定事件的实现代码,需要的的朋友参考下吧
Bootstrap-table自定义可编辑每页显示记录数
主要介绍了Bootstrap-table自定义可编辑每页显示记录数的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
vue自定义移动端touch事件,点击、滑动、长按事件
vue自定义移动端touch事件,点击、滑动、长按事件.将以上代码保存到一个js文件内,引入到页面vue库文件之后、用户js文件之前。这样就可以使用vue的触屏事件了。
Android自定义Notification添加点击事件
主要为大家详细介绍了Android自定义Notification添加点击事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C# 自定义控件的属性和添加事件
C# 自定义控件的属性 添加自定义控件的事件


