VS2008中CDockablePane停靠框
来源:互联网 发布:php防止sql注入方法 编辑:程序博客网 时间:2024/06/05 02:15
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中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使用心得
- JNI开发环境搭建
- COM 线程模型
- h264参考代码中的cbp是什么意思
- oracle数据库环境搭建
- IIS的负载均衡的解决方案
- VS2008中CDockablePane停靠框
- 【Android开发技巧】 - 如何获取应用Shortcut在Launcher坐标信息
- 让你的PHP更安全之PHP.ini
- ios事件处理读书笔记
- C++ 动态链接库的两种调用方式
- PKU-1080 Human Gene Functions
- Oracle DECODE函数的语法
- Unity3D 脚本UTF-8编码/Unity3D 脚本支持中文
- IE6浏览器中的gzip压缩输出问题