切分窗口和多视图

切分窗口和多视图

ID:15547728

大小:46.50 KB

页数:18页

时间:2018-08-04

切分窗口和多视图_第1页
切分窗口和多视图_第2页
切分窗口和多视图_第3页
切分窗口和多视图_第4页
切分窗口和多视图_第5页
资源描述:

《切分窗口和多视图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、切分窗口和多视图(转)VC随笔——切分窗口和多视图(2008-09-1718:21:54)转载标签:杂谈动态切分窗口:动态切分窗口不能包含多于4个的窗格,要想得到4个以上的窗格,可以使用静态切分窗口。动态切分窗口中的几个窗格通常使用的是同一个视图类。创建动态切分窗口的方式共有3种:1、在创建应用程序时,利用应用程序向导AppWizard的选项设置切分窗口2、在创建了应用程序之后,通过添加组件对窗口进行切分3、通过手动添加代码编程的方式使用AppWizard创建动态切分:在MFCAppWizardStep4of6对话框中,单击Advanced按钮,弹出AdvancedOptions

2、对话框,选择WindowStyles选项卡,选中该页的Usesplitwindow检查框。使用SplitterBar组件:选择Project

3、AddToProject

4、ComponentsandControls...菜单,弹出ComponentsandControlsGallery对话框。双击VisualC++Components目录,选择SplitterBar项,插入SplitterBar组件。运行程序,打开【查看】菜单或者是【窗口】菜单,找不到前面使用AppWizard添加动态切分时的【分隔】菜单项。说明SplitterBar组件的方式并没有添加相应的菜单项,程序员可以自己添

5、加上去。注意:菜单的Caption(标题)可以随便设定,但注意菜单项的ID必须是ID_WINDOW_SPLIT。ID_WINDOW_SPLIT是系统预先指定的,程序员一般不需要对此命令ID添加命令消息处理函数,就可以实现分隔,因为MFC应用程序框架中已经对该命令ID的消息进行了处理。手动添加代码:1、在框架窗口类(对单文档为主框架窗口,对多文档为子框架窗口)中声明一个CSplitterWnd类的成员变量m_wndSplitter2、使用ClassWizard为框架窗口类添加OnCreateClient函数注意:这里使用ClassWizard是重写父类的虚函数,而不是添加消息处理3

6、、在OnCreateClient函数中调用CSplitterWnd类的成员函数Create产生动态切分4、为应用程序添加一个ID为ID_WINDOW_SPLIT的菜单项CSplitterWnd切分窗口类:CSplitterWnd的成员函数中,有3个使用非常频繁1、Create函数创建一个动态的切分窗口2、CreateStatic函数创建一个静态的切分窗口3、CreateView函数为静态切分窗口创建视图窗口。在框架显示一个静态切分窗口之前,该窗口的所有视图窗格都必须已被创建好。当动态切分窗口时,此函数被框架窗口自动调用。静态切分窗口:静态切分窗口是指在窗口创建时,切分窗口的窗格就

7、已经创建好了,且窗格的数量和顺序不会改变。最多可以支持16行×16列的窗口(即256个窗格),但是必须在应用程序中创建窗格,而且不同的窗口往往使用不同的视图类。创建静态切分的步骤:1、在框架窗口类中声明一个CSplitterWnd类的成员变量m_wndSplitter2、使用ClassWizard为框架窗口类添加OnCreateClient函数3、在OnCreateClient函数中调用CSplitterWnd::CreateStatic产生静态切分4、在OnCreateClient函数中调用CSplitterWnd::CreateView产生每个切分的视图窗口为2DCAD应用程

8、序添加静态切分功能:1、声明切分窗口类对象m_wndSplitter为主框架窗口类CMainFrame添加保护成员变量m_wndSplitter,代码如下:CSplitterWndm_wndSplitter;//用于产生静态切分2、在框架窗口类中添加OnCreateClient函数打开ClassWizard,选中MessageMaps选项卡,在Classname中选择CMainFrame类,在ObjectIDs列表中选择CMainFrame,在Message列表框中双击OnCreateClient项,为框架窗口添加OnCreateClient函数。3、使用CreateStatic

9、产生静态切分在OnCreateClient函数中添加如下代码,就可以产生1×2的静态切分窗口:m_wndSplitter.CreateStatic(this,1,2);4、使用CreateView产生每个视图窗口当用户建立一静态切分窗口时,应当同时建立窗口内的所以区域。可以在OnCreateClient函数中添加如下代码来为第一行第一列的窗格产生视图:m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CMy2DCADView),CSize(45

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。