改变分辨率后,莫名其妙的收到WM_NCCALCSIZE消息,改变了我原来窗体的大小

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:23:19
我创建了一个层窗口,当其它程序改变屏幕分辨率,然后退出程序Windows自动改回来的时候,我的窗口就会收到两个WM_NCCALCSIZE消息,改变了我的窗口大小,请问再什么情况下会收到这个消息呢?在网上查了下,SetWindowPos中参数如果设置SWP_DRAWFRAME和SWP_FRAMECHANGED会强制发送WM_NCCALCSIZE消息,但是我并没有设置这两个参数啊

窗口尺寸只要改变,就会发送 WM_NCCALCSIZE 执行处理。

想想本来你的屏幕是800*600的,你的窗口满屏。当屏幕改成1024*768的,你的屏幕当然就占不了满屏了,它就会通过响应WM_NCCALCSIZE消息,自动调节它的大小。

看看