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

📄 databaseoperation.cpp

📁 动态创建数据库
💻 CPP
字号:
// DatabaseOperation.cpp : implementation file
//

#include "stdafx.h"
#include "test3.h"
#include "test3dlg.h"
#include "DatabaseOperation.h"
#include "DynamicCreateColumn.h"
#include "DynamicCreateTable.h"


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

/////////////////////////////////////////////////////////////////////////////
// CDatabaseOperation dialog


CDatabaseOperation::CDatabaseOperation(CWnd* pParent /*=NULL*/)
	: CDialog(CDatabaseOperation::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDatabaseOperation)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDatabaseOperation::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDatabaseOperation)
	DDX_Control(pDX, IDC_OPERATIONMENU, m_ctrlOperationMenu);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDatabaseOperation, CDialog)
	//{{AFX_MSG_MAP(CDatabaseOperation)
	ON_NOTIFY(TCN_SELCHANGE, IDC_OPERATIONMENU, OnSelchangeOperationmenu)
	ON_WM_DESTROY()
	ON_WM_CANCELMODE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDatabaseOperation message handlers

BOOL CDatabaseOperation::OnInitDialog() 
{
	CDialog::OnInitDialog();

	
	// TODO: Add extra initialization here
	//添加标签
	TCITEM item;
	item.mask=TCIF_TEXT;
	CString strPage1;
    CString strPage2;
	CString strPage3;

	m_pCreateDatabasePage=new CTest3Dlg();//数据库
    m_pCreateTablePage=new CDynamicCreateTable();//表
    m_pCreateColumnPage=new CDynamicCreateColumn();//字段

	strPage1.Format("  动态创建数据库  ");
	item.pszText=strPage1.GetBuffer(strPage1.GetLength());
	m_ctrlOperationMenu.InsertItem(1,&item);

	strPage2.Format("  动态创建表  ");
	item.pszText=strPage2.GetBuffer(strPage2.GetLength());
	m_ctrlOperationMenu.InsertItem(2,&item);

	strPage3.Format("  动态创建字段  ");
	item.pszText=strPage3.GetBuffer(strPage3.GetLength());
	m_ctrlOperationMenu.InsertItem(3,&item);

	//建立3个无边对话框对象
	if(m_pCreateDatabasePage!=NULL)
	{
	  BOOL bDatabase= m_pCreateDatabasePage->Create(IDD_DATABASE_DIALOG,this);
	}


	if(m_pCreateTablePage!= NULL)
	{
	   BOOL bTable=m_pCreateTablePage->Create(IDD_TABLE_DIALOG,this);
	}

	if(m_pCreateColumnPage!=NULL)
	{
        BOOL bColumn=m_pCreateColumnPage->Create(IDD_COLUMN_DIALOG,this);
	}

	//重新设置新对话框位置
	CRect DlgRect,PageRect,NewRect;
	this->GetWindowRect(&DlgRect);
 	int nFrameWidth,nTitHeight;
 	nFrameWidth=GetSystemMetrics(SM_CXFRAME);
 	nTitHeight=GetSystemMetrics(SM_CYSIZE)+nFrameWidth;

 	this->m_ctrlOperationMenu.GetWindowRect(&PageRect);//

 	NewRect.left=PageRect.left-DlgRect.left-nFrameWidth;
 	NewRect.top=PageRect.top-DlgRect.top;
    NewRect.right=NewRect.left+PageRect.Width()-nFrameWidth;
 	NewRect.bottom=NewRect.top+PageRect.Height()-nTitHeight;
	//////////////////////////////////////////////////////////////////////////
/*
	NewRect.left=PageRect.left-DlgRect.left-nFrameWidth;
	NewRect.top=PageRect.top-DlgRect.top-2;
	NewRect.right=NewRect.left+PageRect.Width()-nFrameWidth;
 	NewRect.bottom=NewRect.top+PageRect.Height()-nTitHeight-2;
*/


	m_pCreateDatabasePage->MoveWindow(&NewRect);
    m_pCreateDatabasePage->ShowWindow(SW_SHOW);
	
	m_pCreateTablePage->MoveWindow(&NewRect);
    m_pCreateTablePage->ShowWindow(SW_HIDE);

	m_pCreateColumnPage->MoveWindow(&NewRect);
    m_pCreateColumnPage->ShowWindow(SW_HIDE);


	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDatabaseOperation::ClickTab()
{
	switch(m_ctrlOperationMenu.GetCurSel())
	{
	case 0:
		m_pCreateDatabasePage->ShowWindow(SW_SHOW);
		m_pCreateTablePage->ShowWindow(SW_HIDE);
		m_pCreateColumnPage->ShowWindow(SW_HIDE);
		break;
	case 1:
		m_pCreateDatabasePage->ShowWindow(SW_HIDE);
		m_pCreateTablePage->ShowWindow(SW_SHOW);
		m_pCreateColumnPage->ShowWindow(SW_HIDE);
		break;
	case 2:
     	m_pCreateDatabasePage->ShowWindow(SW_HIDE);
		m_pCreateTablePage->ShowWindow(SW_HIDE);
		m_pCreateColumnPage->ShowWindow(SW_SHOW);
		break;
		
   }
}

void CDatabaseOperation::OnSelchangeOperationmenu(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	ClickTab();
	*pResult = 0;
}

void CDatabaseOperation::OnDestroy() 
{
	CDialog::OnDestroy();
	
	// TODO: Add your message handler code here
	delete m_pCreateDatabasePage;	
	delete m_pCreateTablePage;	
	delete m_pCreateColumnPage;


	
}

void CDatabaseOperation::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

⌨️ 快捷键说明

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