将CFormView嵌入到CDockablePane中
来源:互联网 发布:淘宝快递单号购买 编辑:程序博客网 时间:2024/05/17 21:45
第一步:将两个空白的CDockablePane嵌入到MainFrm中:
1,利用类向导,添加两个基类为CDockablePane的类CDock1,CDock2;
2,在MainFrm.h中添加Dock1.h和Dock2.h的头文件;并派生两个子类
3,在MainFrm的OnCreate()里面添加:(最好接着EnableAutoHidePanes(CBRS_ALIGN_ANY);这句后面添加)
if(!m_dock1.Create("Dock1",this,CRect(0,0,300,300),true,IDD_FRMVIEW,WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
此时,调试,发现生成两个CDockablePane,但由于内部没有东西,所以出现花屏,留影的现象,正常。
1,利用类向导,添加两个基类为CFormView的类CFrmView,CFrmView1;
2,为CFrmView和CFrmView1分别重载Create函数和OnMouseActivate函数,前者是为了把Create函数重载为public,一行代码都不用写,后者是为了防止CDockablePane处于悬浮状态时程序崩溃(不重载必然崩溃!)
int CFrmView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
}
第三步,向CDockablePane装东西
1,在Dock1.h和Dock2.h中添加protected类型的指针:CFrmView
(记得分别加FrmView.h和FrmView1.h的文件包含)
2,接下来以Dock1.cpp为例说,Dock2.cpp一样,但是注意指针别指重了....
在构造函数中添加
m_frmview = (CFrmView*)(RUNTIME_CLASS(CFrmView)->CreateObject());
重载OnCreate函数和OnSize函数,前者是为初始化,后者是为设置frmview在dock中的显示大小,一般填充满
int CDock1::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
}
void CDock1::OnSize(UINT nType, int cx, int cy)
{
}
- 将CFormView嵌入到CDockablePane中
- 将CFormView嵌入到CDockablePane中
- 将CFormView嵌入到CDockablePane中
- 将CFormView嵌入到CDockablePane中
- 在CDockablePane中嵌入CFormView
- MFC中如何将 CFormView放置到一个CDockablePane中
- 在CDockablePane中嵌入对话框
- 在CDockablePane中嵌入目录
- 在CDockablePane中嵌入对话框
- 怎样将FCKeditor嵌入到jsp中
- 将Google Talk嵌入到网页中
- 将ogre 嵌入到 Qt中
- 将manifest嵌入到应用程序中
- 将ogre 嵌入到 Qt中
- 将ogre 嵌入到 Qt中
- 将网页嵌入到android应用中
- 将ogre 嵌入到 Qt中
- 将网页嵌入到android应用中
- Java反射:根据属性名得到其Set方法设置它的值
- XCOM Enemy Unknown
- export aborted because fatal lint errors were found
- Linux下挂载NTFS分区和挂载分区的方法
- js对字符串的编码和解码
- 将CFormView嵌入到CDockablePane中
- WinCE6.0 SDK的生成方法
- JFreeChart类
- 邮件发送(带附件)
- Android开发笔记之《Activity学习》
- url参数和map之间的转换
- 新手必看初学51单片机几个不易掌握的概念
- 匈牙利命名法
- Google Maps Android API V2使用及问题解决