3450|1

537

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

MDI子框架一启动就最大化[转载] [复制链接]

 
MDI子框架一启动就最大化  
  方法一:  
  在CChildFrame::PreCreateWindow(CREATESTRUCT&   cs)函数中,加了  
  cs.style   |=   WS_VISIBLE|WS_MAXIMIZE;,可以实现了  
  方法二:  
  用ClassWizard为CChildFrame类添加ActiveFrame消息  
  void   CChildFrame::ActivateFrame(int   nCmdShow)    
  {   
       nCmdShow=SW_MAXIMIZE;
 CMDIChildWnd::ActivateFrame(nCmdShow);
}    
   
 方法三:
          在视类重载的OnInitUpdate成员函数中加上:    
          CMDIChildWnd   *pWnd=(CMDIChildWnd   *)GetParentFrame();    
          pWnd->MDIMaximize();//或者pWnd->ShowWindow(SW_MAXIMIZE)
 
 
主窗口最大化: 比较麻烦:
注意,
1如果和子框架一样,只在主框架的PreCreateWindow中写上cs.style   |=  WS_VISIBLE| WS_MAXIMIZE;会发现不起作用,
2在OnCreate()里写showwindow(SW_MAXIMIZE)是有问题的,会发现虽然启动后尺寸是最大化,但是右上角标记是最大化,也就是此时的状态是被标记成normal下的状态,也就是窗口的最大化和normal时的尺寸变成一样了。
3  PreCreateWindow中写上
    cs.cy = GetSystemMetrics(SM_CYSCREEN) ;
     cs.cx = GetSystemMetrics(SM_CXSCREEN) ;
会发现,首先启动时,画面的下面部分被桌面下面的任务栏挡住了,其次发现和2一样的问题,此时程序窗口的最大化最小化状态没问题,但normal状态下是显示启动时的特别大的画面尺寸。
4 在view类的OnInitialUpdate()里添加:
CMainFrame* pMainfrm=(CMainFrame *)AfxGetMainWnd();
    pMainfrm->ShowWindow(SW_MAXIMIZE);  不起作用。
 
其实问题出在imgpro2.cpp里的CImgpro2App::InitInstance()里
 倒数第2句:pMainFrame->ShowWindow(m_nCmdShow);
把这句话注释掉,依次用前几种方法看看:
1 依然不起作用
2程序启动时,主框架是最大化状态(右上角标记是还原标记),但是点击后,还原的尺寸还是最大化的尺寸。
3不显示画面
4 可以实现功能。初识最大化,点击还原标记,还原成中等大小的一个窗口。
 
或者 不把pMainFrame->ShowWindow(m_nCmdShow);注释掉
在   InitStance   函数中设定   m_nCmdShow的取值.  
          m_nCmdShow=SW_SHOWMAXMIZED   //最大化   
也能实现。
  补充:
1 如果想让一幅图画打开后,子框架窗口大小和图像大小一样。如果只在openfile里写上子框架
->setwindowpos或者movwindow等程序,那么当把子框架最大化以后,再打开一幅图像,会发现虽然子框架客户区的边框和图像大小一致,但是,子框架是在最大化状态下的,程序画面会有点奇怪。所以解决方法是,在setwindowpos之前加上一句子框架->ShowWindow(SW_NORMAL),先让框架处在normal状态下。
2在normal状态下,如果把窗口大小拖动发生变化,那么最大化后,再还原,就还原成拖动后的大小,也就是normal状态下的窗口大小可以发生变化。最大化和最小化都不会。比如上面说的,在最大化时打开图像,窗口大小变化了,最小化或者还原下,再点击最大化,窗口显示是最大化时的尺寸而不会是那副图片的大小。
3 调整子框架的大小,就会调整view的大小,使view窗口自动布满子框架大小好像。因为在程序里先调整view的大小,再调整子框架大小,(让子框架大一些),发现没用,view还是布满整个子框架;
如果先调整子框架大小,再调整view大小,就会发现,子框架里只有一部分被view覆盖。

最新回复

哈哈 格式被转换了 变成表情了 哈哈  详情 回复 发表于 2010-8-2 16:31
点赞 关注
 

回复
举报

10

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
哈哈 格式被转换了 变成表情了 哈哈
个人签名汽车租赁
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表