社区
界面
帖子详情
怎样在SDI结构中使用静态拆分?
Alexeyomux
2003-04-10 11:20:25
我想使用静态三叉拆分使一个Doc用多个View来表现,但我试了好几次,都是被mfc的splitter.cpp中的一个断言中止。请指点具体的做法!在MDI中又怎样呢?谢谢!
...全文
14
10
打赏
收藏
怎样在SDI结构中使用静态拆分?
我想使用静态三叉拆分使一个Doc用多个View来表现,但我试了好几次,都是被mfc的splitter.cpp中的一个断言中止。请指点具体的做法!在MDI中又怎样呢?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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前面
VC++MFC实例,MDI
静态
切分窗口
VC++MFC实例,MDI
静态
切分窗口,我学习过程
中
的练习之作,发现与
SDI
静态
窗口切分有些不同
新一代 Visual C++2005程序设计 part2
封面 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
VC++ 从 CWnd
中
派生特任意类,如何用在
SDI
的
拆分
窗口
中
VC 从 CWnd
中
派生特任意类,如何用在
SDI
的
拆分
窗口
中
class CMyXXX : public CWnd只要添加以下两个动态创建的代码就可以被 m_Splitter创建..H文件
中
DECLARE_DYNCREATE(CMyXXX); .CPP文件
中
IMPLEMENT_DYNCREATE(CMyXXX, CWnd)如:MyXXX.h class...
多视图
静态
切分
SDI
窗口
今天,终于完成了一直以来都想做到的像WINDOWS
中
的MMC那样的界面。小小的开心了一下,现在将心得总结如下:1。在VC6.0
中
建立一个
SDI
工程,工程名为dbvView,在向导的第六步
中
的WINDOWS风格
中
选
中
“应用
拆分
窗体”。工程建立好了以后,我们可以看到选
中
了“应用
拆分
窗体”选项创建的工程,和一般的工程不同的地方:在CMainFrame类
中
多了一个CSplitterWnd类型的变量
SDI
、MDI和
拆分
窗口
SDI
、MDI和
拆分
窗口文档、视图和单文档界面一、文档/视图
结构
的程序 文档/视图
结构
的程序不同于传统的MFC应用程序,传统的MFC应用程序体系主要包括两个对象:应用程序对象和主窗口对象,应用程序对象的主要任务是创建 程序的主窗口而主窗口对象的任务主要是用来和程序用户进行交互操作。文档/视图体系的MFC应用程序包括了应用程序对象、框架窗口对象、视图对象和文档对 象四个方面。应用程序对象和传统MFC程序当
中
的应用程序对象完成类似的任务:创建其余的三个对象;而框架窗口对象创建了程序
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章