VS2005 左右下各一个窗口 1
来源:互联网 发布:淘宝怎么刷信用卡 编辑:程序博客网 时间:2024/05/17 08:27
目标,左边树形结构,右边ListView,下面Log日志。
今天晚上做一个,边做边写吧。
1,新建一个项目,选SDI, 其他默认了事。
2,打开Mainfrm.h 属性里面增加一个
CSplitterWnd m_wndSplitter;
实现里面增加一个
CView* GetLeftPane();
CView* GetRightPane();
重写里面增加
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
3,打开Mainfrm.cpp文件
头部加入include语句,把Doc,View类包含进来。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /**//*lpcs*/,
CCreateContext* pContext)
...{
// 创建拆分窗口
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE;
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTestView), CSize(150, 100), pContext) ||
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CTestView), CSize(100, 100), pContext))
...{
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
}
注,代码中CTestView应该分别是左右两个View,现在先弄出效果来再说。稍后再改这里。
4,运行一下。OK了,左右没问题了。
5,下面的只能用Dock方式放个Toolbar了。
6, 自己写一个CLogBar 从CControlBar继承,里面放上一个CRichEditCtrl.
7, MainFrm.h 增加
CLogBar m_wndLog;
CImageList m_ImageList;
8, Mainfrm.cpp里面,最后,return前面,
//下面的日志窗口的东西
m_ImageList.Create(IDB_BARIMAGELIST, 13, 1, RGB(0,255,0));
m_wndLog.SetBtnImageList(&m_ImageList);
if (!m_wndLog.Create(this, ID_LOG_MON, _T("Output"), CSize(200,150)))
...{
TRACE0("Failed to create dialog bar m_wndLog ");
return -1; // fail to create
}
// allow bar to be resized when floating
m_wndLog.SetBarStyle(m_wndLog.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_wndLog.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndLog, AFX_IDW_DOCKBAR_BOTTOM);
m_wndLog.SetMenuID(ID_EDITOR_POPUP_MENU);
大概就是这样,当然缺少配置Resouce那些东西,不写了,休息,休息,明天继续。
今天晚上做一个,边做边写吧。
1,新建一个项目,选SDI, 其他默认了事。
2,打开Mainfrm.h 属性里面增加一个
CSplitterWnd m_wndSplitter;
实现里面增加一个
CView* GetLeftPane();
CView* GetRightPane();
重写里面增加
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
3,打开Mainfrm.cpp文件
头部加入include语句,把Doc,View类包含进来。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /**//*lpcs*/,
CCreateContext* pContext)
...{
// 创建拆分窗口
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE;
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTestView), CSize(150, 100), pContext) ||
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CTestView), CSize(100, 100), pContext))
...{
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
}
注,代码中CTestView应该分别是左右两个View,现在先弄出效果来再说。稍后再改这里。
4,运行一下。OK了,左右没问题了。
5,下面的只能用Dock方式放个Toolbar了。
6, 自己写一个CLogBar 从CControlBar继承,里面放上一个CRichEditCtrl.
7, MainFrm.h 增加
CLogBar m_wndLog;
CImageList m_ImageList;
8, Mainfrm.cpp里面,最后,return前面,
//下面的日志窗口的东西
m_ImageList.Create(IDB_BARIMAGELIST, 13, 1, RGB(0,255,0));
m_wndLog.SetBtnImageList(&m_ImageList);
if (!m_wndLog.Create(this, ID_LOG_MON, _T("Output"), CSize(200,150)))
...{
TRACE0("Failed to create dialog bar m_wndLog ");
return -1; // fail to create
}
// allow bar to be resized when floating
m_wndLog.SetBarStyle(m_wndLog.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_wndLog.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndLog, AFX_IDW_DOCKBAR_BOTTOM);
m_wndLog.SetMenuID(ID_EDITOR_POPUP_MENU);
大概就是这样,当然缺少配置Resouce那些东西,不写了,休息,休息,明天继续。
效果图:
- VS2005 左右下各一个窗口 1
- 【OpenGL】VS2005下创建基于Win32项目的OpenGL窗口
- intellij 左右窗口联动
- VS2005下Qt编程--1
- VS2005下配置OpenCV2.1
- VS2005下配置OpenCV2.1
- VS2005 继承窗口
- vs2005 命令窗口 常用命令
- 关闭Windows7, Windows8 , Windows8.1窗口左右停靠功能[图文]
- HTML/CSS编写一个三栏布局,左右200px,中间随窗口大小变动
- win7一个屏幕显示多个窗口,win+左右箭头无效的解决办法
- 如何创建一个VS2005 VC++下的D3D项目环境
- VS2005下组件ReportView使用时的一个问题
- 一个家庭收支管理程序(VS2005下MFC开发)
- VS2005下如何新建一个WINCE设备的DLL工程
- VS2005下如何新建一个WINCE设备的DLL工程
- VS2005下如何新建一个WINCE设备的DLL工程 .
- VS2005下如何新建一个WINCE设备的DLL工程
- 如何制作MMS彩信文件?
- 积累(三)
- 使用反映实现前端WEB窗口控件与后台数据库类对象的动态绑定
- 工作_导出总结_页面的JS
- Oracle Commands
- VS2005 左右下各一个窗口 1
- 计算机英语词汇(Unit1)
- 实现Java动态类载入机制
- java排序算法
- eclipse快捷键指南
- APUE(二)
- 什么叫IOC(编程术语)
- BEA Tuxedo
- Spring简介