数据库 树形控件 视图分割
来源:互联网 发布:手机迅雷显示网络异常 编辑:程序博客网 时间:2024/05/16 06:27
关于数据库
l stdafx.h添加:
#import "C:/Program Files/Common Files/System/ado/msado15.dll" rename_namespace("ADOBS") rename("EOF","adoEOF") rename("BOF","adoBOF")
using namespace ADOBS;
l 新建CDataManage类
头文件:
#pragma once
class CDataManage
{
private:
_ConnectionPtr p_Con;
_RecordsetPtr p_Record;
_CommandPtr p_Com;
public:
CDataManage(void);
public:
~CDataManage(void);
public:
bool InitADO(void);
public:
bool ConnectionGatabase(LPTSTR ConStr);
};
源文件:
#include "StdAfx.h"
#include "DataManage.h"
CDataManage::CDataManage(void)
{
}
CDataManage::~CDataManage(void)
{
if(p_Com!=NULL)
p_Com.Release();
if(p_Record!=NULL)
p_Record.Release();
if(p_Con!=NULL)
p_Con.Release();
}
bool CDataManage::InitADO(void)
{
try
{
//初始化数据库连接对象
p_Con.CreateInstance("ADODB.Connection");
p_Record.CreateInstance("ADODB.Recordset");
p_Com.CreateInstance("ADODB.Command");
}
catch (_com_error & e)
{
AfxMessageBox(e.Description());
return false;
}
return true;
}
bool CDataManage::ConnectionGatabase(LPTSTR ConStr)
{
try
{
//如果连接已经打开则关闭
if(p_Con->State==adStateOpen)
p_Con->Close();
p_Con->ConnectionString=ConStr;
p_Con->Open(L"",L"",L"",-1);
}
catch (_com_error &e)
{
return false;
}
return true;
}
树视图设计
l 新建CCustomTree类派生与CTreeView
l 在CCustomTree定义成员变量
CStringArray m_Treenodes;//记录节点文本
CImageList m_imagelist;//图像列表
l 在OnInitialUpdate()方法中创建图像列表,添加图标,创建和设置字体,修改树视图风格,添加节点,展开用函数:this->GetTreeCtrl().Expand(),设置背景this->GetTreeCtrl().SetBkColor(),设置文本颜色:this->GetTreeCtrl().SetTextColor()。设置字体this->SetFont();
void CCustomTree::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
m_Treenodes.Add(L"功能");
m_Treenodes.Add(L"功能");
m_imagelist.Create(16,16,ILC_COLOR24|ILC_MASK,5,5);
m_imagelist.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
this->GetTreeCtrl().SetImageList(&m_imagelist,TVSIL_NORMAL);
this->GetTreeCtrl().DeleteAllItems();
//添加树节点
HTREEITEM hroot;
CString tempstr;
hroot=this->GetTreeCtrl().InsertItem(L"功能列表",0,0);
for (int i=0;i<m_Treenodes.GetSize();i++)
{
this->GetTreeCtrl().InsertItem(m_Treenodes[i],0,0,hroot);
}
}
分割视图
客户区有树视图和普通视图两部分组成,因此需要分割框架窗口。具体步骤如下:
(1) 在框架类中定义:CSplitterWnd m_splitter;
(2) 改写框架类的虚方法OnCreateClient()
(3) 注意2点:一,对于视图类的头文件包含的时候首先包含和它关联的文档类;二,不需要载调用CFrameWnd::OnCreateClient
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
m_splitter.CreateStatic(this,1,2);
m_splitter.CreateView(0,1,RUNTIME_CLASS(CCaptureView),CSize(20,100),pContext);
m_splitter.CreateView(0,0,RUNTIME_CLASS(CCustomTree),CSize(200,1000),pContext);
return true;//CFrameWnd::OnCreateClient(lpcs, pContext);
}
- 数据库 树形控件 视图分割
- 数据库+树形控件+视图分割——备忘
- 树形视图控件
- [MFC]CTreeView树形视图、CTreeCtrl树形控件
- 小谈树形视图控件
- FLEX学习-3 树形控件和分割器
- 视图分割
- TreeView树形控件与数据库结合编程!
- MFC树形控件和静态切分视图结合程序
- CTreeCtrl::InsertItem给树形视图控件添加一个项目
- MFC树形控件和静态切分视图结合程序
- 树形控件
- 树形控件
- 树形控件
- 树形控件
- VC++单文档分割窗口、在视图中添加控件,并响应该控件的事件
- VC++单文档分割窗口、在视图中添加控件,并响应该控件的事件
- IOS学习 iPad控件:POP控件器,分割窗口、浮动窗口、模态视图的使用
- Push模式下水晶报表的若干问题
- MFC教程-13
- Apache模块开发/用C语言扩展apache(3:一个非常简单的apache module)
- Oracle中序列的简单使用
- 电话面试经历 - 负暄琐话 - CSDNBlog
- 数据库 树形控件 视图分割
- MFC教程-12
- 安全专家浅谈恶意代码的研究分析(4)
- 超级搞笑的创意婚纱照(献给将要结婚的朋友们)
- MFC教程-11
- [全程建模]设计模型和UML应用中的实例分析
- Apache 防盗链(Apache Anti-Leech)技术的简单实现
- MFC教程-9
- 三十六计的中英文