📄 databaseoperation.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 + -