MDI 中有一个cmyformview类(继承自cformview),有相应的cmyframe,想要在程序一起动的时候显示cformview,并最大化.我在PreCreaterWindow中加入如下代码:
cs.style=ws_maximize;
但是不行,程序出错
但是加入以下代码:
cs.cx=600;
cs.cy=400;
可以显示相应的大小,但是却不是最大化的.
不知道为何?请大家指点一下了.我打算获取主窗口尺寸,然后赋予cx,cy,不知这样的思路能否实现?如何实现?请大家指点!!
cs.style=ws_maximize;
但是不行,程序出错
但是加入以下代码:
cs.cx=600;
cs.cy=400;
可以显示相应的大小,但是却不是最大化的.
不知道为何?请大家指点一下了.我打算获取主窗口尺寸,然后赋予cx,cy,不知这样的思路能否实现?如何实现?请大家指点!!
解决方案 »
- VC处理excle格式,word格式,pdf文件格式怎么样》
- 修改对话框背景色后如何修改控件背景色为透明?
- 浅谈--C++类成员属性的一种简洁实现方法
- 鼠标右键 go to defintion找不到函数定义
- 对话框上怎样使用DirectDraw来画一个球?
- 关于boost的正则表达式匹配问题,附代码。
- 用DrawText显示的文字,在拉动滚动条的时候发现下面原来没有露出来的部分没有内容
- GetVersionEx 的一个bug,或许是winme系统bug setup.exe
- 请教高人:关于CTreeCtrl类重命名奇怪的异常(附源码)
- 菜鸟提问:市场上同一个厂家的24口交换机,为什么有的要3000多而有的只要700多?在性能上有多大差距?(在线给分呦)
- 请教窗口的前后位置问题
- 怎么样实现在资源管理器多一个盘号?
如下修改你的myframe.h文件即可
//From Visual C++/MFC Frequently Asked Questions
class cmyframe: public CMDIChildWnd
{
// ...
// This makes the MDI child maximized.
virtual void ActivateFrame(int nCmdShow)
{
// if another window is open, use default
if(GetMDIFrame()->MDIGetActive())
CMDIChildWnd::ActivateFrame(nCmdShow);
else
CMDIChildWnd::ActivateFrame(SW_SHOWMAXIMIZED);
}
// ...};
我是希望得到主窗口的尺寸,如果是屏幕尺寸,那么当我的主窗口尺寸变化时,子窗口会一起变化吗?
{
// TODO: Add your specialized code here and/or call the base class
if (GetParent()->GetWindow(GW_CHILD) == this)
{
nCmdShow = SW_SHOWMAXIMIZED;
} CMDIChildWnd::ActivateFrame(nCmdShow);
}