3.15-如何使视图初始显示的规模为最小或最大?

来源:互联网 发布:部落冲突法术工厂数据 编辑:程序博客网 时间:2024/04/28 15:40

移动一个视图 或者 改变视图的大小 实际上会引起与它关联的父框架窗口的改变,因此可以在视图 或 视图的框架类内实现“最大化打开”的行为。

第一种技术:在视图的框架窗口类中实现该行为

1、在视图框架类中增加一个BOOL成员变量,用来跟踪第一次激活窗口的时间,在类的构造函数中初始化这个变量。

CChildFrame::CChildFrame()
{
       // TODO: add member initialization code here
       m_bFirstTime=true;
}

2、重载ActiveFrame()虚函数,在调用基类的ActivateFrame()函数之前改变nCmdShow参数的值

void CChildFrame::ActivateFrame(int nCmdShow)
{
      if(m_bFirstTime)

      {

             m_bFirstTime=false;

             nCmdShow=SW_SHOWMAXIMIZED;

            //如果希望以最小化状态打开视图框架,把其赋值为SW_SHOWMINIMIZED

      }      

       

       CMDIChildWnd::ActivateFrame(nCmdShow);
}

第二种技术:在视图类中实现该行为

void CDrawView::OnInitialUpdate()
{
       CView::OnInitialUpdate(); 

       //最大化父框架窗口

       GetParentFrame()->ShowWindow( SW_SHOWMAXIMIZED );

       //如果希望以最小化状态打开视图框架,把其赋值为SW_SHOWMINIMIZED
}

 

原创粉丝点击