窗口样式CS_DBLCLKS

1.窗口类样式:
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_LBUTTONDOWNWM_LBUTTONDBLCLK代替了。

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

其实,在没有指定CS_DBLCLKS标志时,程序本身也可以检测到双击事件的。参见MSDNDr.GUT"Simulating Mouse Button Clicks"文章,不过要有一些技巧.一般的情况下,如果没有指定CS_DBLCLKS,在窗口的消息循环里将不会得到WM_LBUTTONDBLCLK消息。

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

你可能感兴趣的:(MFC)