📄 newdrawdlg.cpp
字号:
//-----------------------------------------------------------------------------
//----- NewDrawDlg.cpp : implementation file
#include "StdAfx.h"
#include "resource.h"
#include "NewDrawDlg.h"
#include "cjming_ding_maokou.h"
//-----------------------------------------------------------------------------
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC (CNewDrawDlg, CAdUiBaseDialog)
BEGIN_MESSAGE_MAP(CNewDrawDlg, CAdUiBaseDialog)
//{{AFX_MSG_MAP(CNewDrawDlg)
ON_MESSAGE(WM_ACAD_KEEPFOCUS, OnAcadKeepFocus) // Needed for modeless dialog.
ON_WM_KEYDOWN()
ON_WM_KEYUP()
ON_BN_CLICKED(IDC_BUTTONget, OnBUTTONget)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//-----------------------------------------------------------------------------
CNewDrawDlg::CNewDrawDlg (CWnd* pParent /*=NULL*/, HINSTANCE hInstance /*=NULL*/) : CAdUiBaseDialog (CNewDrawDlg::IDD, pParent, hInstance) {
//{{AFX_DATA_INIT(CNewDrawDlg)
m_dodim = FALSE;
m_d = 0.0;
m_DR = 0.0;
m_h = 0.0;
m_HR = 0.0;
m_mx = 0.0;
m_my = 0.0;
m_groupname = _T("");
m_R = 0.0;
m_T = 0.0;
m_g = 0.0;
//}}AFX_DATA_INIT
}
void CNewDrawDlg::DoDataExchange (CDataExchange *pDX) {
CAdUiBaseDialog::DoDataExchange (pDX) ;
//{{AFX_DATA_MAP(CNewDrawDlg)
DDX_Control(pDX, IDC_EDITg, m_editg);
DDX_Control(pDX, IDC_EDITT, m_editT);
DDX_Control(pDX, IDC_EDITR, m_editR);
DDX_Control(pDX, IDC_EDITNAME, m_editname);
DDX_Control(pDX, IDC_EDITMY, m_editmy);
DDX_Control(pDX, IDC_EDITMX, m_editmx);
DDX_Control(pDX, IDC_EDITHR, m_editHR);
DDX_Control(pDX, IDC_EDITH, m_edith);
DDX_Control(pDX, IDC_EDITDR, m_editDR);
DDX_Control(pDX, IDC_EDITD, m_editd);
DDX_Control(pDX, IDC_CHECKDIM, m_checkdim);
DDX_Check(pDX, IDC_CHECKDIM, m_dodim);
DDX_Text(pDX, IDC_EDITD, m_d);
DDX_Text(pDX, IDC_EDITDR, m_DR);
DDX_Text(pDX, IDC_EDITH, m_h);
DDX_Text(pDX, IDC_EDITHR, m_HR);
DDX_Text(pDX, IDC_EDITMX, m_mx);
DDX_Text(pDX, IDC_EDITMY, m_my);
DDX_Text(pDX, IDC_EDITNAME, m_groupname);
DDX_Text(pDX, IDC_EDITR, m_R);
DDX_Text(pDX, IDC_EDITT, m_T);
DDX_Text(pDX, IDC_EDITg, m_g);
//}}AFX_DATA_MAP
}
// Needed for modeless dialogs to keep focus.
// Return FALSE to not keep the focus, return TRUE to keep the focus
LONG CNewDrawDlg::OnAcadKeepFocus(UINT, UINT)
{
return TRUE;
}
//-----------------------------------------------------------------------------
BOOL CNewDrawDlg::OnInitDialog()
{
CAdUiBaseDialog::OnInitDialog();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CNewDrawDlg::OnOK()
{
UpdateData(TRUE);
if(!check_stringvalid(&m_groupname))
{
AfxMessageBox("输入图形名不合理!");
return ;
}
CString sname="cjming_ding_maokou";
sname+=m_groupname;
if(check_groupname_exit(&sname))
{
AfxMessageBox("输入图形名存在!");
return ;
}
data dd;
dd.T=m_T;
dd.DR=m_DR;
dd.HR=m_HR;
dd.h=m_h;
dd.R=m_R;
dd.d=m_d;
double bpoint[3][2];
bpoint[0][0]=m_mx;
bpoint[0][1]=m_my;
bpoint[1][0]=0;
bpoint[1][1]=0;
bpoint[2][0]=0;
bpoint[2][1]=0;
Ccjming_ding_maokou maokou(&dd,bpoint,m_groupname);
if(!maokou.check_data())
{
AfxMessageBox("输入数据不合理!");
return ;
}
maokou.draw();
if(m_dodim)
maokou.dim();
}
void CNewDrawDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CAdUiBaseDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
void CNewDrawDlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CAdUiBaseDialog::OnKeyUp(nChar, nRepCnt, nFlags);
}
void CNewDrawDlg::OnBUTTONget()
{
UpdateData(TRUE);
HRESULT hr;
//用于打开数据库和操作数据库的变量
_ConnectionPtr pAdoConnection;
_RecordsetPtr pRecordSet;
_variant_t TheValue;
variant_t vntRecordAffected;
//初始化com库
if(FAILED( AfxOleInit()))
{
AfxMessageBox("未能正确初始化com库\n程序不能正常进行!");
return ;
}
try
{
hr=pAdoConnection.CreateInstance("ADODB.Connection");
//打开数据库
if(SUCCEEDED(hr))
{
hr=pAdoConnection->Open("DSN=castCAD"," "," ",-1);
}
else
{
AfxMessageBox("创建数据库连接失败!");
::CoUninitialize();//释放com库
return;
}
pRecordSet.CreateInstance(_uuidof(Recordset));
CString sq;
sq.Format("SELECT * FROM castCAD WHERE G_mao=%f",m_g);
try{
pRecordSet->Open(sq.GetBuffer(1),(IDispatch*)pAdoConnection,
adOpenDynamic,adLockOptimistic,adCmdText);
TheValue=pRecordSet->GetCollect((long)0);
m_T= TheValue.intVal;
TheValue=pRecordSet->GetCollect((long)1);
m_DR= TheValue.intVal;
TheValue=pRecordSet->GetCollect((long)2);
m_HR= TheValue.intVal;
TheValue=pRecordSet->GetCollect((long)3);
m_h= TheValue.intVal;
TheValue=pRecordSet->GetCollect((long)4);
m_R= TheValue.intVal;
TheValue=pRecordSet->GetCollect((long)5);
m_d= TheValue.intVal;
UpdateData(FALSE);
pRecordSet->Close();
pAdoConnection->Close();
}
catch(_com_error &e)
{
CString errormessage;
errormessage.Format("数据库查询失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
pRecordSet->Close();
pAdoConnection->Close();
::CoUninitialize();//释放com库
return;
}
}////////////???????????????????????????
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
::CoUninitialize();//释放com库
return;
}
::CoUninitialize();//释放com库
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -