自己开发的控件,如何实现 OnClick 事件?
真心求教,搞了几天都没解决。
自己做了个控件,对外提供 OnClick 事件,就像标准按钮控件一样有OnClick 让用户自己编写点击事件处理。但现在不知道如何达到这个目的。我查阅了资料,有WM_LBUTTONDOWN、WM_LBUTTONUP、WM_LBUTTONDBLCLK,就是没有单击消息,请问如何解决?
刚开始想着看怎么用鼠标按下、松开的时间间隔组合WM_LBUTTONDOWN、WM_LBUTTONUP来实现单击,但效率太低,可行性太低。坐等高手解答,不胜感激!
[解决办法]
对于按钮控件等,你可以捕获WM_COMMAND消息得到BN_CLICKED,而普通窗口好像是没有类似的标准消息的,你可以捕获WM_LBUTTONDOWN、WM_LBUTTONUP 得到,各类窗口对单击的定义好像不太一样,通常就是由WM_LBUTTONDOWN、WM_LBUTTONUP 组成,要注意WM_LBUTTONUP产生时鼠标指针不一定是在窗口上,可能是在窗口外,所以判断是否单击时还要判断鼠标指针是否在窗口中.