VC 对话框最小化 最大化

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:04:37
基于对话框的程序,在对话框中处理了WM_SIZE消息后,控件可以随窗口大小改变而改变,但当窗口最小化后再最大化,运行就报错,
谁有类似经历,怎么解决?

你在WM_SIZE中的处理最好先判断下cx和cy,如果是负数的话就不要处理。
另外在WM_SIZE中对控件处理时先判断下他们的句柄是否有效比较好。

改变控件大小做过,但没碰上过你说的问题。我在处理WM_SIZE只用了2个函数,功能是改变控件宽度,长度不变。
GetClientRect(hwndCtl, &rc);
SetWindowPos(hwndCtl, NULL, n, n, cx - n - n, rc.bottom, SWP_NOZORDER);//n为控件到边框的间距,cx为对话框的宽度.很平常的两个函数使用,感觉应该不会出问题的,你的问题真奇怪。
你再检查下,是不是在计算控件长宽上出错了,凭经验,很有可能!

可能刷新过快了,处理不过来,就是传说中的程序蹦死咯!!!我以前做程序的时候,就是拖动窗口的时候,有的时候程序都可能蹦死呢。

把代码贴出来看看啊!

说不清楚,发给我,public_chn@tom.com