http://www.delphibbs.com/delphibbs/dispq.asp?lid=1610388
我用spy++对一个程序进行消息截取,主要是想看看WM_LBUTTONDBLCLK消息如何发送的,结果如下:
WM_LBUTTONDOWN,
WM_LBUTTONUP,
WM_LBUTTONDBLCLK,(是不是代替了WM_LBUTTONDOWN?这是我不明白的地方[:D])
WM_LBUTTONUP,(这个消息还有用吗?)
....
请各位大侠不惜赐教
这几个消息是不同的.
WM_LBUTTONDOWN:指你鼠标按下时触发
WM_LBUTTONUP?:指你鼠标松开时触发!
WM_LBUTTONDBLCLK:只鼠标双击完成时触发.
感谢笑面虎的答复!
但是,我想问的不是这个问题.我的问题是:
WM_LBUTTONDOWN,
WM_LBUTTONUP,
WM_LBUTTONDBLCLK,
WM_LBUTTONUP,
上面的消息是一个鼠标双击消息的全过程.
按照我的想法鼠标双击消息的发送是不是在
WM_LBUTTONDOWN,
WM_LBUTTONUP,
WM_LBUTTONDOWN,
WM_LBUTTONUP,
消息后发送一个WM_LBUTTONDBLCLK鼠标双击消息,但是实际上发送的过程是
WM_LBUTTONDOWN,
WM_LBUTTONUP,
[b]WM_LBUTTONDBLCLK[/b],
WM_LBUTTONUP,
消息WM_LBUTTONDBLCLK是不是代替了WM_LBUTTONDOWN,
最后发送的WM_LBUTTONUP消息还有什么意义吗?[:D]
鼠标两次单击如果在一定的时间内发生,WINDOWS就会认为第二次单击为双击
既然双击也是按下,怎么能不发送WM_LBUTTONUP消息呢?
GetDoubleClickTime取得连续两次鼠标单击之间会被处理成双击事件的间隔时间