Windows窗口类样式:CS_DBLCLKS

窗口类样式:CS_DBLCLKS
CS_DBLCLKS标志使窗口可以检测到双击事件。窗口响应双击的细节如下:

如果窗口没有CS_DBLCLKS标志,系统向窗口依次发送如下消息:


WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDOWN
WM_LBUTTONUP.


其实相当于两个单击。

如果窗口有CS_DBLCLKS标志,则系统向窗口依次发送如下消息:


WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP


第一种情况中的第二个WM_LBUTTONDOWN被WM_LBUTTONDBLCLK代替了。

注意,在上述序列中间可能会插入其他的一条或一些消息,所以这两个消息序列不一定是完全连续的。

其实,在没有指定CS_DBLCLKS标志时,程序本身也可以检测到双击事件的。参见MSDN里Dr.GUT的"Simulating Mouse Button Clicks"文章,不过要有一些技巧.

一般的情况下,如果没有指定CS_DBLCLKS,在窗口的消息循环里将不会得到WM_LBUTTONDBLCLK消息。

所有的标准窗口控件,对话框,桌面窗口类都默认拥有CS_DBLCLKS标志。第三方控件最好也加上此风格,以使其在对话框编辑器里可以正常工作。

参考来源:http://jimmyloveforever.blog.163.com/blog/static/1197752472011527103225993/                           博主:auspicio

你可能感兴趣的:(编程知识,MFC)