⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testodbc4view.cpp

📁 使用ODBC访问SQL数据库
💻 CPP
字号:
// testODBC4View.cpp : implementation of the CTestODBC4View class
//

#include "stdafx.h"
#include "testODBC4.h"

#include "testODBC4Set.h"
#include "testODBC4Doc.h"
#include "testODBC4View.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTestODBC4View

IMPLEMENT_DYNCREATE(CTestODBC4View, CRecordView)

BEGIN_MESSAGE_MAP(CTestODBC4View, CRecordView)
	//{{AFX_MSG_MAP(CTestODBC4View)
	ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTestODBC4View construction/destruction

CTestODBC4View::CTestODBC4View()
	: CRecordView(CTestODBC4View::IDD)
{
	//{{AFX_DATA_INIT(CTestODBC4View)
		// NOTE: the ClassWizard will add member initialization here
	m_pSet = NULL;
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CTestODBC4View::~CTestODBC4View()
{
}

void CTestODBC4View::DoDataExchange(CDataExchange* pDX)
{
	CRecordView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTestODBC4View)
	DDX_Control(pDX, IDC_TAB1, m_Tab);
	//}}AFX_DATA_MAP
}

BOOL CTestODBC4View::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CRecordView::PreCreateWindow(cs);
}

void CTestODBC4View::OnInitialUpdate()
{
	m_pSet = &GetDocument()->m_testODBC4Set;
	CRecordView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();

		
	DataManageDlg.m_Pset = new CTestODBC4Set;
	DataStatDlg.m_Pset = new CTestODBC4Set;
	DataFindDlg.m_Pset = new CTestODBC4Set;
	DataManageDlg.m_Pset = m_pSet;
	DataStatDlg.m_Pset = m_pSet;
	DataFindDlg.m_Pset = m_pSet;

	//Add our own code here
	//添加Tab窗口
	TCITEM tm;
	tm.mask = TCIF_TEXT;

	tm.pszText = " 数据维护 ";	
	m_Tab.InsertItem(0,&tm);
	DataManageDlg.Create(IDD_DIALOG_DataManage,&m_Tab);	
	tm.pszText = " 数据查询 ";	
	m_Tab.InsertItem(1,&tm);
	DataFindDlg.Create(IDD_DIALOG_DataFind,&m_Tab);
	tm.pszText = " 数据统计 ";	
	m_Tab.InsertItem(2,&tm);
	DataStatDlg.Create(IDD_DIALOG_DataStat,&m_Tab);
	tm.pszText = " 系统维护 ";	
	m_Tab.InsertItem(3,&tm);
	SysManageDlg.Create(IDD_DIALOG_SysManage,&m_Tab);

	CSize fontsize;		//设置书签的尺寸
	fontsize.cx = 100;
	fontsize.cy = 40;
	m_Tab.SetItemSize(fontsize);
	
	//设置Tab子窗口的位置(子窗口设置为Child型,会随着主窗口移动,且以主窗口的左上角为原点)
	CRect rcPage,rcWnd,rcTab;
	CClientDC dc(this);
	GetWindowRect(rcWnd);

	m_Tab.GetWindowRect(rcTab);	
	
	rcPage.top = rcTab.top - rcWnd.top+20;
	rcPage.bottom = rcPage.top + rcTab.Height()+10;// ;
	rcPage.left = rcTab.left - rcWnd.left - 30;
	rcPage.right = rcPage.left + rcTab.Width()+30;

	DataManageDlg.MoveWindow(&rcPage);
	DataFindDlg.MoveWindow(&rcPage);
	DataStatDlg.MoveWindow(&rcPage);
	SysManageDlg.MoveWindow(&rcPage);

	DataManageDlg.ShowWindow(SW_SHOW);
	DataFindDlg.ShowWindow(SW_HIDE);
	DataStatDlg.ShowWindow(SW_HIDE);
	SysManageDlg.ShowWindow(SW_HIDE);

}

/////////////////////////////////////////////////////////////////////////////
// CTestODBC4View printing

BOOL CTestODBC4View::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CTestODBC4View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CTestODBC4View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CTestODBC4View diagnostics

#ifdef _DEBUG
void CTestODBC4View::AssertValid() const
{
	CRecordView::AssertValid();
}

void CTestODBC4View::Dump(CDumpContext& dc) const
{
	CRecordView::Dump(dc);
}

CTestODBC4Doc* CTestODBC4View::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTestODBC4Doc)));
	return (CTestODBC4Doc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTestODBC4View database support
CRecordset* CTestODBC4View::OnGetRecordset()
{
	return m_pSet;
}


/////////////////////////////////////////////////////////////////////////////
// CTestODBC4View message handlers

void CTestODBC4View::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int sel = m_Tab.GetCurSel();

	switch(sel)
	{
	case 0:
		DataManageDlg.ShowWindow( SW_SHOW );
		DataFindDlg.ShowWindow( SW_HIDE );
		DataStatDlg.ShowWindow(SW_HIDE);
		SysManageDlg.ShowWindow(SW_HIDE);
		break;
	case 1:
		DataManageDlg.ShowWindow( SW_HIDE );
		DataFindDlg.ShowWindow( SW_SHOW );
		DataStatDlg.ShowWindow(SW_HIDE);
		SysManageDlg.ShowWindow(SW_HIDE);
		break;
	case 2:
		DataManageDlg.ShowWindow( SW_HIDE );
		DataFindDlg.ShowWindow( SW_HIDE );
		DataStatDlg.ShowWindow(SW_SHOW);
		SysManageDlg.ShowWindow(SW_HIDE);
		break;
	case 3:
		DataManageDlg.ShowWindow( SW_HIDE );
		DataFindDlg.ShowWindow( SW_HIDE );
		DataStatDlg.ShowWindow(SW_HIDE);
		SysManageDlg.ShowWindow(SW_SHOW);
		break;
	default:
		break;
	}
	
	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -