VS2008中CDockablePane停靠框
来源:互联网 发布:火影忍者ol刷元宝软件 编辑:程序博客网 时间:2024/06/05 10:17
转自: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使用心得
- getVisibleSize 和 getContentSize 和 getWinSize
- 采用冷备份的方式快速迁移空间数据库(noachivelog模式)
- STM32 串口中的硬件BUG,注意!
- 网站收藏
- 数组中出现次数超过一半的数字
- VS2008中CDockablePane停靠框
- 创建线程的第二种方式--实现Runnab…
- 实现方式和继承方式的区别
- 创建线程的第一种方式:继承Thread…
- 同步代码快:解决多线程安全问题
- 庖丁解牛-----Live555源码彻底解密(根据OpenRTSP讲解)
- 同步线程 懒汉式单例设计模式
- 死锁
- notify();wait();notifyALL();