问题 :同一个线程上有两个窗口,在主窗口上创建了一个非子窗口,默认的MFC框架,这个两个窗口的状态是可以切换的。但如果你要重写的时候 ,有时会出现他们之间的状态切换不了。如当你点击最小按钮时,另一个窗口除标题栏外 ,其他地方都不响应wm_NCLBUTTONDOWN消息。造成窗口假死状态。
解决:这是由于状态没有切换过来,造成的,当你最小化其中的一个,另一个窗口并没有激活。所以不响应WM_NCLBUTTONDOWN消息。怎样才能响应哪。办法是你在最小化时,调用SetActiveWindow激活另一个窗口。不过首先你需要通过GetWindow获取当前窗口下面的一个窗口。然后调用showWindow来最小当前窗口。顺序不能颠倒,只有先激活,然后在最小。否则,SetActiveWindow不其作用,状态还是不能切换过来。