vc2010Ribbon界面的OnGetMinMaxInfo

arhisqq 2010-11-30 02:23:08
lpMMI-> ptMinTrackSize=CPoint(800,600);
lpMMI-> ptMaxTrackSize=CPoint(1024,768);

只能设置最大限制,不能设置最小限制,
新建个工程试了一下还是这样,真是奇怪。
有没兄弟碰到过?
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
elitel 2011-11-01
  • 打赏
  • 举报
回复
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: Add your message handler code here and/or call default
lpMMI->ptMinTrackSize.x = 800;
lpMMI->ptMinTrackSize.y = 600;

CFrameWndEx::OnGetMinMaxInfo(lpMMI);
}

改为
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
CFrameWndEx::OnGetMinMaxInfo(lpMMI);
// TODO: Add your message handler code here and/or call default
lpMMI->ptMinTrackSize.x = 800;
lpMMI->ptMinTrackSize.y = 600;
}
就可以了,就是说把CFrameWndEx::OnGetMinMaxInfo(lpMMI);放在最前面。
如果不是ribbon框架的话,就放最后面,如果是ribbon界面,就放在最前面。
arhisqq 2010-12-01
  • 打赏
  • 举报
回复
我的不行,原因不明。
不折腾了,就用OnSizing吧,有空再回头看。兄弟接分。

快捷键的问题是新版mfc在注册表中备份了快捷键,自定义的资源被旧版的覆盖了。
删掉对应的注册表项就好了。


void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: Add your message handler code here and/or call default
lpMMI->ptMinTrackSize.x = 800;
lpMMI->ptMinTrackSize.y = 600;

CFrameWndEx::OnGetMinMaxInfo(lpMMI);
}
muzizongheng 2010-12-01
  • 打赏
  • 举报
回复
对的啊。

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
lpMMI->ptMinTrackSize.x = 800;
lpMMI->ptMinTrackSize.y = 600;

CMDIFrameWndEx::OnGetMinMaxInfo(lpMMI);
}

可以的。
arhisqq 2010-12-01
  • 打赏
  • 举报
回复
是CMainFrame里啊,真是奇怪。
重载OnGetMinMaxInfo不行、OnSize也不行。
最后只能用OnSizing。
以前是vc2003这三种方法都可以。

现在资源中的快捷键也无效,
换了一台电脑还是同样的问题,莫非是我的版本不对(10.0.30391.1),麻烦兄弟帮忙对一下版本,谢谢啦。
muzizongheng 2010-11-30
  • 打赏
  • 举报
回复
你这个是哪个类里? CMainFrame里?

不会的啊。 我就这样做的, 可以啊。

15,979

社区成员

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

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