关于“显示桌面”按钮实现窗口隐藏的疑问,希望高手能帮忙解释一下:)
问题是这样的:
首先用MFC通过向导新建一个基于对话框的工程,什么都不用改,运行起来之后,再点“显示桌面”,这个对话框会隐藏起来,我想知道这个隐藏的过程知道是怎么实现的呢?我用spy++看了下,点“显示桌面”后,第一条消息是wm_paint,是因为给这个窗口发一条wm_paint,就实现隐藏窗口了么?如果不是的话,那控制窗口隐藏的消息是哪个呢?
用spy++抓到的消息情况如下(下面这些是窗口隐藏过程的消息):
<00001> 00090180 P WM_PAINT hdc:00000000
<00002> 00090180 S WM_NCPAINT hrgn:00000001
<00003> 00090180 R WM_NCPAINT
<00004> 00090180 S WM_CTLCOLORBTN hdcButton:3E01146B hwndButton:0007017E
<00005> 00090180 R WM_CTLCOLORBTN hBrush:0110005D
<00006> 00090180 S WM_CTLCOLORBTN hdcButton:17011340 hwndButton:00070182
<00007> 00090180 R WM_CTLCOLORBTN hBrush:0110005D
<00008> 00090180 S WM_CTLCOLORSTATIC hdcStatic:5E011347 hwndStatic:000B017C
<00009> 00090180 R WM_CTLCOLORSTATIC hBrush:0110005D
<00010> 00090180 S WM_CTLCOLORBTN hdcButton:5E011347 hwndButton:00100352
<00011> 00090180 R WM_CTLCOLORBTN hBrush:0110005D
<00012> 00090180 S WM_CTLCOLORBTN hdcButton:5E011347 hwndButton:000E031E
<00013> 00090180 R WM_CTLCOLORBTN hBrush:0110005D