如何设置窗口变化的最小尺寸? 使窗口拉到设定的最小尺寸时就不能再拉小了。 比如:窗口从宽1000高800起,用鼠标改变大小到宽500高400,现在我希望该窗口拉到宽300高200时就保持宽300高200,不能再被拉小,只能拉大,如何处理?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { // TODO: Add your message handler code here and/or call default lpMMI->ptMaxTrackSize=CPoint(677,506); lpMMI->ptMinTrackSize=CPoint(677,506);//设置最大和最小的情况 CFrameWnd::OnGetMinMaxInfo(lpMMI);} 处理消息WM_GETMINMAXINFO就可以了,ptMinTrackSize就表示最小时大小为677 506 如果在消息下拉列表中找不到这个消息,就到class wizard->Class Info页中在Message Filter下拉列表中选择window,然后在回到Message Map页,在消息下拉列表中就可以 找到这个消息了!May You Success void CMainFrame::OnSize(UINT nType, int cx, int cy) { CFrameWnd::OnSize(nType, cx, cy); CRect rcWindow; GetWindowRect(&rcWindow); if(rcWindow.Width() < 200) { MoveWindow(rcWindow.left,rcWindow.top,200,rcWindow.Height()); } if(rcWindow.Height() < 200) { MoveWindow(rcWindow.left,rcWindow.top,rcWindow.Width(),200); }} laiyiling和EnochShen的方法我都试了,两者的效果是一样的: 窗口始终保持在设定的大小.但这和我想要的不一样: 我希望窗口范围可以在设定大小和最大化之间任意改变!!! 窗口宽度和高度的变化值必须在设定值和最大值之间. lpMMI->ptMaxTrackSize=CPoint(677,506);//lpMMI->ptMinTrackSize=CPoint(677,506);//这里的两个值你就不能设置为一样了, laiyiling的方法比我的好~~ ^_^ vc界面里出现奇怪的蓝色箭头,怎么去掉? 有些软件支持64位系统,都做了些什么事情? lpk.dll 原本的功能!? 下了一个ado类 为什么总是出错? CFormView中控件显示问题 一个结构体数组如何串行化? 如何把多幅位图组合成一个位图? 一个简单的进程之间的通讯问题,来着有分! 新春大吉大利,问几个关于串行化的问题,望高手赐教? 图标题取器1.2发布,欢迎下载使用,http://icnw.myrice.com 如何使用CPen类选择各种画笔? 直接在桌面上画东西。
{
// TODO: Add your message handler code here and/or call default
lpMMI->ptMaxTrackSize=CPoint(677,506);
lpMMI->ptMinTrackSize=CPoint(677,506);//设置最大和最小的情况
CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
{
CFrameWnd::OnSize(nType, cx, cy);
CRect rcWindow;
GetWindowRect(&rcWindow); if(rcWindow.Width() < 200)
{
MoveWindow(rcWindow.left,rcWindow.top,200,rcWindow.Height());
} if(rcWindow.Height() < 200)
{
MoveWindow(rcWindow.left,rcWindow.top,rcWindow.Width(),200);
}
}
我希望窗口范围可以在设定大小和最大化之间任意改变!!! 窗口宽度和高度的变化值必须在设定值和最大值之间.
lpMMI->ptMinTrackSize=CPoint(677,506);//这里的两个值你就不能设置为一样了,