如何锁定MainFrame的大小

真的李小龙 2006-04-02 02:36:24
想锁定MainFrame的大小。
不知道要设置什么。
而且,其实,我想锁定的是CView的大小。从而要锁定MainFrame的大小。
若,用MoveWindow根据CView的大小来锁定MainFrame的大小,还要考虑到工具栏占的位置。

不知道怎么作。
请行手指教

...全文
327 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzhijun_cau 2006-04-03
  • 打赏
  • 举报
回复
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.cx=500;
cs.cy=400;
cs.x = (GetSystemMetrics(SM_CXSCREEN) - cs.cx) / 2;
cs.y = (GetSystemMetrics(SM_CYSCREEN) - cs.cy) / 2;

cs.style = WS_CAPTION | WS_SYSMENU;
//WS_SYSMENU|WS_CAPTION ;
return TRUE;
}
happyness44 2006-04-03
  • 打赏
  • 举报
回复
在PreCreateWindow()中加入
cs.style |=WS_THICKFRAME
真的李小龙 2006-04-03
  • 打赏
  • 举报
回复
其实我是想可以缩放大小,但要保证CView的大小不能超过设定的。
现在我是用CMainFrame中的OnSize函数,在其中判断,还要考虑一些额外的大小,再用
MoveWindow。
也不知道添加一些除了工具栏之外的CDialogBar等,会不会导致大小计算时还要考虑CDialogBar的等大小。感觉麻烦,又没有简单一点的?
MSDN3000 2006-04-02
  • 打赏
  • 举报
回复
重载WM_GETMINMAXINFO消息,限制将结构中的数据,最大和最小设置为一样。
OnGetMinMaxInfo( MINMAXINFO FAR* lpMMI );

MINMAXINFO {
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
}

15,976

社区成员

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

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