动态调整CPropertySheet的大小

LBJAMS 2016-02-26 05:26:15
http://www.codeguru.com/cpp/controls/propertysheet/sizing/article.php/c599/Resizable-CPropertySheet.htm
这是我在网上找的一个项目,能部分实现我需要的功能
但是如果是Sheet里面的page(dialog)过大,大过了屏幕的大小,那么Sheet页下面的 确认,取消等按钮就没了,你可以将工程里面的Dialog拖动到很大,然后把电脑的分辨率设置成很小,运行程序就会发现问题了。
这个工程可以拖动改变sheet页的大小。
请求大神来指导指导!
...全文
294 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2016-03-31
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
zgl7903 2016-02-29
  • 打赏
  • 举报
回复
LBJAMS 2016-02-29
  • 打赏
  • 举报
回复
那我怎么调整sheet页的大小呢,你能把我发的链接里面的项目改成我要求的东西嘛?
schlafenhamster 2016-02-29
  • 打赏
  • 举报
回复
问题是 size 不能 拖小。改

void CResizablePropertySheet::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
{
	CRect rc = m_rcClient;
	// Adjust it according to the window style
	AdjustWindowRect(rc, GetStyle(), FALSE);
	// Make sure it does not get smaller than the initial size
	lpMMI->ptMinTrackSize.x = rc.Width()/2;
	lpMMI->ptMinTrackSize.y = rc.Height()/2;
	
	CPropertySheet::OnGetMinMaxInfo(lpMMI);
}

lpMMI->ptMinTrackSize.x = rc.Width()/2; lpMMI->ptMinTrackSize.y = rc.Height()/2; 这样 初始 尺寸 可以 拖小
笨笨仔 2016-02-27
  • 打赏
  • 举报
回复
按sheet的大小重设置dialog尺寸

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧