VS2008中CDockablePane停靠框
来源:互联网 发布:网络舆情试题 编辑:程序博客网 时间:2024/06/05 09:40
From : http://blog.sina.com.cn/s/blog_6163bdeb0102dy8r.html
VS2008中对于MFC的MDI程序界面做了增强,支持很炫的的布局效果,之前还在说不能用CDialogBar类,现在完全可以使用CDockablePane类替代了,现在只需要新建一个继承自CDockablePane的新类,就可以在其上添加各种控件了,如组合框、对话框等,现在尝试添加一个对话框。
新建一个MFC的多文档程序,如在Wizard中选择标准的MFC MDI
新建一个想放入悬浮框的对话框资源IDD_DIALOG_DOCKDLG,Style设为Child,Border设为None,建议把默认添加的OK和Cancel去掉,因为一般情况下点击这两个按钮后,对话框会销毁,而这里是不需要销毁的(如果没去掉点击了,悬浮框中的对话框内容就不能用了),如下添加一个按钮IDC_BUTTON_TEST。然后为对话框添加类CTestDlg,如下
为按钮添加响应
void CTestDlg::OnBnClickedButtonTest()
{
}
添加继承自CDockablePane的类CMyPane,如下
添加此类的WM_CREATE和WM_SIZE响应,并添加上面对话框的成员变量
CTestDlg m_TestDlg;
在CMyPane::OnCreate和CMyPane::OnSize函数中添加代码,如下
int CMyPane::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
}
void CMyPane::OnSize(UINT nType, int cx, int cy)
{
然后在MainFrame.h代码中添加成员变量
CMyPane m_MyPane;
在CMainFrame::OnCreate函数中添加代码
if (!m_wndStatusBar.Create(this))
{
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
if (!m_MyPane.Create(_T("MyPane"), this, CRect(0, 0, 100, 100), TRUE, IDD_DIALOG_DOCKDLG,
{
}
m_MyPane.EnableDocking(CBRS_ALIGN_ANY);
// TODO: Delete these five lines if you don't want the toolbar and menubar to be dockable
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
DockPane(&m_MyPane);
运行程序,如下
点击按钮,弹出Message对话框
MyPane悬浮框可以悬浮在各个位置,具体见最上面的图片。
参考网址:
VS2008 CDialogBa不能用,可以换成CDockablePane
http://blog.csdn.net/chl0000/article/details/5905459
MDI界面开发
http://blog.csdn.net/mxj_2001382/article/details/4707657
- VS2008中CDockablePane停靠框
- VS2008中CDockablePane停靠框
- VS2008中CDockablePane停靠框
- VS2008中CDockablePane停靠框
- VS2008中CDockablePane停靠框
- CDockablePane 不能右边停靠
- MFC--CDockablePane停靠窗口
- CDockablePane停靠窗口关联对话框
- CDockablePane停靠、浮动响应处理
- 关于CDockablePane停靠的隐藏与显示
- VS2008 CDialogBa不能用,可以换成CDockablePane
- VS2008/2010 CDockablePane类的使用
- 在CDockablePane中嵌入对话框
- 在CDockablePane中嵌入目录
- CDockablePane中加入树形视图
- 在CDockablePane中嵌入CFormView
- 在CDockablePane中嵌入对话框
- VC中CDockablePane使用心得
- 编程珠玑之第一章习题5:k趟算法给1000w数据排序的测试用例
- 【转载】【leetcode】Longest Substring Without Repeating Characters
- 动态规划之最长子序列和最长子串
- Java案例
- 解决库链接时的相互依赖
- VS2008中CDockablePane停靠框
- 猜数字游戏的实现
- 如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题
- 为 android的系统控件添加属性
- linux 从文件系统方面理解软链接、硬链接
- JS的Document属性和方法
- 数据结构实验题--判断入栈出栈操作序列是否合法
- Qt Model/View学习笔记之四创建新的Model
- Android 打开应用方式之间的区别(安装后选择“打开(Open)”对比其它方式)