拆分框架

    MFC提供了一个CSplitterWnd类,专门用于在文档/视图界面中添加拆分框架。

    在MFC中CSplitterWnd类提供了拆分框架的功能。拆分框架的意思是在一个框架中包含多个矩形的窗格。这些窗格通常都是由CView中派生出来,并具有特定应用的小的窗口。同时,这些窗格也有适当的窗口ID。

    建立拆分框架,通常是把一个CSplitterWnd对象植入在一个CFrameWnd或CMDIChildWnd对象(父框架)中。建立一个CSplitterWnd对象主要包括以下步骤:

  1. 在父框架中植入CSplitterWnd类型的成员变量;
  2. 重写成员函数:CFrameWnd::OnCreateClient;
  3. 在CFrameWnd::OnCreateClient中调用CSplitterWnd的Create或CreateStatic函数;

     调用Create可以建立动态拆分的窗口。动态的拆分窗口的特点是为相同的文档建立许多单独的窗格或视图。程序的框架自动为拆分窗口建立和初始化一个窗口。然后,在程序运行中,操作窗口中的拆分控件才开始建立框架,或者调整大小等其他一些对框架的操作。

    同时当你调用Create时,也可以明确规定窗格的初始的行高和列宽。而在你调用Create之后,你则使用SetColumnInfo和SetRowInfo成员函数来调整行高和列宽。

    所有动态拆分的窗格都必须是相同类的对象。常见的支持动态拆分的应用程序包括:Microsoft Word 和 Microsoft Excel。

    调用CreateStatic可以建立静态拆分的窗口。它的特点是用户只能改变窗格的大小,不能改变其数量和次序。静态拆分框架时,通常每个窗格属于不同的类。

    在你建立静态拆分窗口时,你必须明确规定所有的窗格。如果在CFrameWnd::OnCreateClient返回之前你还没有确定所有的窗口,那么框架将不能正确的显示。

    CreateStatic成员函数自动把静态拆分框架初始化为行高为 0,列宽为0。可以在调用了CreateStatic后调用SetColumnInfo和SetRowInfo来设置合适的行高和列宽。

    每个拆分的窗口支持专门的滚动条,这些滚动条属于CSplitterWnd对象,并分派给指定窗格。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值