一个具有Resizing功能的对话框,如何使他的宽度和高度不小于原始尺寸 即当宽度和高度小于原始尺寸时禁止Resizing功能 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 相应OnSize消息,在其中GetWindowRect,发现小于指定尺寸,就直接return 一\ 加入一类变量 CSize m_size;在 OnInitDialog 的最后写 CRect rect; GetWindowRect(&rect); m_size = rect.Size();二\ 响应 WM_SIZING 消息 CDialog::OnSizing(fwSide, pRect); if (pRect->bottom - pRect->top > m_size.cy) pRect->bottom = pRect->top + m_size.cy; if (pRect->right - pRect->left > m_size.cx) pRect->right = pRect->left + m_size.cx; 我的想法也是这样,在 OnSize种处理,不过是错的,改变对话框时我发现OnSize并没有调用,如果把OnSize中的所有代码注释起来,对话框也一样回变 限制用户调整窗口的最大、最小尺寸,在窗口的WM_GETMINMAXINFO消息响应函数中处理,如: --------------------------------------------------------------------------- void CQQDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { // TODO: Add your message handler code here and/or call default lpMMI->ptMinTrackSize.x=200; //限制最小宽度,单位为像素,下同 lpMMI->ptMinTrackSize.y=400; //限制最小高度 lpMMI->ptMaxTrackSize.x=250; //限制最大宽度 lpMMI->ptMaxTrackSize.y=500; //限制最大高度 CDialog::OnGetMinMaxInfo(lpMMI); } --------------------------------------------------------------------------- to: 楼主OnSize 不是像你这样用的, 为什么不试试我的代码呢? To 楼主: 楼上huwei001982(編程浪子)的代码完全测试通过,比我的代码更好,推荐使用!注意是在WM_SIZING消息中处理,不是WM_SIZE中(当然在这里面也行,不过上面代码就要改了)。 HANDLE无效的返回值 关于计算机系统层次的问题~ 关于carry取值问题,100分解决! mfc绘图刷新 CString型转换为char型,请问什么办法或函数? 怎样将制定文件的版本信息,更新时间等内容写入资源文件 纪念--12号西安事变--13号南京大屠杀 技术讨论:如何实现QQ服务端那样庞大的可以同时几百万人在线的SOCKET软件? 如何实现动态的扫描在局域网中的主机? 老帖目测是要沉,这里补充些内容~还是release版本编译出现LNK错误 为什么保留HCRYPTHASH句柄供以后使用却出错? 在TCP连接上发送数据,是否能保证接收数据的顺序与发送数据的顺序一致
GetWindowRect(&rect);
m_size = rect.Size();二\ 响应 WM_SIZING 消息 CDialog::OnSizing(fwSide, pRect);
if (pRect->bottom - pRect->top > m_size.cy)
pRect->bottom = pRect->top + m_size.cy; if (pRect->right - pRect->left > m_size.cx)
pRect->right = pRect->left + m_size.cx;
---------------------------------------------------------------------------
void CQQDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
// TODO: Add your message handler code here and/or call default
lpMMI->ptMinTrackSize.x=200; //限制最小宽度,单位为像素,下同
lpMMI->ptMinTrackSize.y=400; //限制最小高度
lpMMI->ptMaxTrackSize.x=250; //限制最大宽度
lpMMI->ptMaxTrackSize.y=500; //限制最大高度
CDialog::OnGetMinMaxInfo(lpMMI);
}
---------------------------------------------------------------------------
OnSize 不是像你这样用的, 为什么不试试我的代码呢?
楼上huwei001982(編程浪子)的代码完全测试通过,比我的代码更好,推荐使用!注意是在WM_SIZING消息中处理,不是WM_SIZE中(当然在这里面也行,不过上面代码就要改了)。