怎样在SDI结构中使用静态拆分?

Alexeyomux 2003-04-10 11:20:25
我想使用静态三叉拆分使一个Doc用多个View来表现,但我试了好几次,都是被mfc的splitter.cpp中的一个断言中止。请指点具体的做法!在MDI中又怎样呢?谢谢!
...全文
14 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alexeyomux 2003-04-12
  • 打赏
  • 举报
回复
加到哪?我试过,搞不定。
zhdleo 2003-04-12
  • 打赏
  • 举报
回复
哦!

我的天呀!

那三个视图类当然是自己创建了!

然后把它们的头文件的
#include "****View.h"
都加到上就行了!
Alexeyomux 2003-04-12
  • 打赏
  • 举报
回复
但是在创建DocTemplate时传入的那三个RUNTIME_CLASS是怎样的呢?要让分割出的各个PANE的view不同,怎样传入上诉三个参数以及和包含各个view的头文件呢?
boilvik 2003-04-11
  • 打赏
  • 举报
回复
定义两个切分窗口对象,先用一个左右分整个frame,再用另外一个上下切分右边的窗口。
如:m_splitter1.CreateStatic(this,1,2); // 左右分
m_splitter1.CreateView(0,0,RUNTIME_CLASS(CLeftView),CSiz(0,0),pContext);
m_splitter2.CreateStatic(&m_splitter1, 2, 1, WS_CHILD | WS_VISIBLE, m_splitter1.IdFromRowCol(0, 1)); // 上下分
m_splitter2.CreateView(0,0,RUNTIME_CLASS(CRightTopView),CSiz(0,0),pContext);
m_splitter2.CreateView(1,0,RUNTIME_CLASS(CRightDownView),CSiz(0,0),pContext);
异常判断你自己加
Alexeyomux 2003-04-10
  • 打赏
  • 举报
回复
但那个例子包含太多东西,那个大虾能具体指点一下。
ndy_w 2003-04-10
  • 打赏
  • 举报
回复
msdn->ViewEx example
zhdleo 2003-04-10
  • 打赏
  • 举报
回复
贴出你的代码,和你要怎么分的方法!!
netskychw 2003-04-10
  • 打赏
  • 举报
回复
请教 在静态拆分后的两列中的第二列再拆分成两行 如何进行?
(主要是添加视的代码)拆分后大概这样:“ | |--|”第二列中的上下两行如何表示?
zhenxizhou 2003-04-10
  • 打赏
  • 举报
回复
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
if(!m_wndSplitter.CreateStatic(this,2,1))
return FALSE;
if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CSDISplitterView),CSize(100,400),pContext)||
!m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CRightView),CSize(100,100),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}

return TRUE;

//return CFrameWnd::OnCreateClient(lpcs, pContext);
}
netskychw 2003-04-10
  • 打赏
  • 举报
回复
1.在CMainFrame.cpp中添加代码:(项目名为 Split1)
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class

if(!m_wndSplitter1.CreateStatic(this,1,2))
return FALSE;
if(!m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CSplit1View),
CSize(100,100),pContext)/*||
!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CSplit1View),
CSize(100,100),pContext)*/)

{ m_wndSplitter1.DestroyWindow();
return FALSE;
}
return TRUE;
}

2.在 CMainFrame.cpp中添加视的头文件 Split1View.h

3.将class CSplit1Doc添加在class CSplit1View : public CView前面
封面 1 内容简介 2 目录 4 第1章 综述 10 1.1 本书结构 10 1.2 本书约定 11 第2章 C++重点回顾 12 2.1 类、对象与实例 12 2.2 构造函数 12 2.3 匿名实例 13 2.4 虚函数 14 2.5 异常处理 16 第3章 基本概念与基础MFC类 19 3.1 什么是Win32 API 19 3.2 控制台模式的应用程序 19 3.3 基本数据类型 20 3.4 什么是Unicode 23 3.5 使用MFC类库 24 第4章 窗口程序的基本概念 34 4.1 文字终端与GUI界面 34 4.2 组成要素 35 第5章 创建第一个窗口程序 41 5.1 使用Visual C++ 41 5.2 示例程序 46 5.3 增加资源文件 50 5.4 用MFC Application Wizard产生程序(丢失部分) 59 第6章 窗口的产生与处理 61 6.1 窗口类 (丢失) 61 6.2 产生CWnd 对象 61 6.3 处理消息 63 6.4 关闭窗口 66 6.5 窗口位置与尺寸 68 6.6 窗口的状态与样式 73 6.7 工作区显示 75 6.8 有滚动条 的窗口 77 6.9 CWnd与句柄 80 6.10 窗口文本 81 第7章 对话框 82 7.1 基础知识 82 7.2 编辑器与列表框的字符串交换 86 7.3 消息框 99 7.4 多页对话框 102 7.5 通用对话框 107 第8章 键盘、鼠标与时间 114 8.1 消息与输入焦点 114 8.2 键盘的消息 115 8.3 鼠标 118 8.4 特殊的状况 123 8.5 示例:模拟打字程序 125 8.6 计时器消息与时间 132 8.7 设计鼠标光标 133 第9章 菜单、工具栏与快捷键 135 9.1 菜单 135 9.2 快捷键 150 9.3 工具栏与状态栏 153 第10章 文档、视图与框架窗口 162 10.1 “文档/视图”模型 162 10.2 文档、视图与框架窗口间的关系 165 10.3 CDocument类 174 10.4 CView类 182 10.5 CScrollView类 183 10.6 SDI框架窗口CFrameWnd 185 10.7 示例:拉线绘图 186 10.8 MDI 197 10.9 MDI化的LineArt 205 10.10 多视图类的MDI 212 10.11 拆分式窗口(Splitter Window) 220 10.12 更多不同的View类 231 第11章 文档视图模式与MFC Application Wizard 238 11.1 SDI项目 238 第12章 控件 248 12.1 静态类 248 12.2 按钮 251 12.3 滚动条CScrollBar 267 12.3.1 CScrollBar::Create() 267 12.3.2 样式 268 12.3.3 成员函数 268 12.3.4 通知消息 269 12.3.5 示例:多线程动画 271 12.4 列表框 278 12.5 编辑控件 283 12.6 组合框 286 12.7 数据交换与校验 291 第13章 设备上下文与基本绘图工具 299 13.1 概述 299 13.2 设备上下文类CDC 299 13.3 CWindowDC与CClientDC 304 13.4 画笔与画刷 305 13.5 基本绘图函数 308 13.6 色彩与调色板 312 13.7 使用调色板 316 13.8 字体与文本输出 318 13.9 示例:时钟 330 第14章 位图 336 14.1 简介 336 14.2 CBitmap类 338 14.3 设备无关位图类(DIB) 340 14.4 处理DIB的示例 344 第15章 打印与坐标系 368 15.1 打印 368 15.2 比例、原点与方向 375 15.3 更大的灵活性 380 15.4 打印预览 382 第16章 通用控件 383 16.1 概述 383 16.2 CSliderCtrl 387 16.3 CSpinButtonCtrl 390 16.4 CHeaderCtrl 391 16.5 CAnimateCtrl 394 16.6 CProgressCtrl 397 16.7 CTreeCtrl、CTreeView与CImageList 397 16.8 CListCtrl与CListView 415 16.9 示例:程序管理器 434 16.10 CIPAddressCtrl 437 第17章 使用ActiveX控件 439 17.1 ActiveX控件的由来 439 17.2 使用ActiveX控件 440 17.3 设计ActiveX容器 442 第18章 进程、线程与内存 447 18.1 Win32的内存管理 447 18.2 Process简介 451 18.2.1 产生子进程 452 18.2.2 与process有关的信息 455 18.2.3 结束process 456 18.3 Thread简介 456 18.3.1 产生Child Thread 457 18.3.2 Thread的信息 457 18.3.3 终止Thread 457 18.4 同步(Synchronization) 457 18.4.1 Critical Section 459 18.4.2 等待对象的状态改变 462 18.4.3 Mutex 463 18.4.4 Event 465 18.5 进程间通信(IPC) 468 18.5.1 共享内存与文件映射 468 18.6 CWinThread 471 18.6.1 GUI Thread与非GUI Thread 471 18.6.2 利用CWinThread产生Thread的流程 471 18.6.3 其他的CWinThread成员 472 第19章 Profile与Registry 473

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧