null分割视图分割视图分割视图分割视图功能模块:1)分割
2)左右交互
3)右左交互
4)右下交互
5)非模态
6)位置大小
分割视图分割视图视图分割:静态、动态
静态:视图可以是不同的类,只能改变窗口大小
动态:视图是相同类,窗口大小和数量都可改变null类的成员函数:
1)CreateStatic(this, int nRows, int nCols );
功能描述:用来创建切分窗口
涉及的类:
CSplitterWnd类//分割窗口类 null注:
1)中的row, col指定分割的视图个数
2)中指定要关联的视图具体在哪个位置2)CreateView( int row, int col,RUNTIME_CLASS(关联的类名),CSize(W,H), pContext);
功能描述:为静态切分的窗口的网格填充视图。nullFORM类型对话框的创建null1、 FORM类型对话框
A、与对话框界面类似,但具有视图类的性质FORM类型对话框的创建B、 创建过程与一般对话框有两点不同:
1)插入资源、选择基类分别不同
2)资源:IDD_FORMVIEW,基类:CFormViewnull1、FORM类型对话框的创建分割视图程序具体步骤:2、增加成员: 在Mainfrm.h中添加代码:
CSplitterWnd m_splitter;3、在主框架类中
用类向导添加函数OnCreateClient( )
在此函数中完成代码null关联视图m_splitter.CreateStatic(this,1,2);
m_splitter.CreateView(0,0,RUNTIME_CLASS(FormDlg),CSize(100,100),pContext); 注: FormDlg 为FORM视图类
CFENGEView 为普通视图类m_splitter.CreateView(0,1,RUNTIME_CLASS(CFENGEView),CSize(200,100),pContext);
return true; 设置分割视图宽度设置分割视图宽度CRect rect;
GetClientRect(&rect);
Width() Height()两个视图之间交互的实现(难点1)两个视图之间交互的实现(难点1)null各个类对象的相互调用关系 (重点)(1)获得应用类对象的指针
通过函数AfxGetApp得到应用类对象的指针:
CFENGEApp *pApp=(CFENGEApp *)AfxGetApp();null(2)从应用类对象中获得主框架类对象的指针
数据成员m_pMainWnd。CMainFrame *pfm=(CMainFrame *)AfxGetApp()->
m_pMainWnd;合并为一条语句实现:null(3)在框架类对象中获得当前的视图对象指针获取分割视图的指针
CFENGEView*pView=
(CFENGEView*)pframe ->m_splitter.GetPane(0,1);
视图中设置Form对话框中控件属性(难点2)视图中设置Form对话框中控件属性(难点2)CMainFrame *pframe=(CMainFrame *) AfxGetApp()->m_pMainWnd;
CEdit *p1 = (CEdit *)
pframe-> m_splitter.GetPane(0,0)-> GetDlgItem(IDC_SHOWPOS);nullmydlg.Create(this,IDD_DIALOGBAR,CBRS_BOTTOM,IDD_DIALOGBAR);1、插入资源>Dialog (展开) >选 IDD_DIALOGBAR>新建 对话条使用步骤:2、在主框架类头文件:
CDialogBar mydlg;3、在主框架类源文件:
OnCreate函数中:视图中设置对话条控件属性(难点3)视图中设置对话条控件属性(难点3)CMainFrame *pframe=(CMainFrame *) AfxGetApp()->m_pMainWnd;
CButton *p = (CButton *)
pframe-> mydlg. GetDlgItem(IDC_PLAY);设置对话框界面位置及大小设置对话框界面位置及大小设置对话框界面位置及大小设置对话框界面位置及大小MoveWindow( x, y, nWidth, nHeight)CMainFrame *pfm=(CMainFrame *)AfxGetApp()->m_pMainWnd;
C**View *pview=(C**View*)pfm->m_splitter.GetPane(0,1);pdlg->MoveWindow(rect);CRect rect;
pview->GetWindowRect(&rect);显示/隐藏非模态对话框界面显示/隐藏非模态对话框界面显示/隐藏非模态对话框界面显示/隐藏非模态对话框界面pdlg->ShowWindow(SW_SHOW);pdlg->ShowWindow(SW_HIDE);
本文档为【VC++分割视图编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。