?? addbasicdlg.cpp
字號(hào):
// AddBasicDlg.cpp : 實(shí)現(xiàn)文件
//
#include "stdafx.h"
#include "htmdb.h"
#include "AddBasicDlg.h"
#include "BASIC.h"
// CAddBasicDlg 對(duì)話框
IMPLEMENT_DYNCREATE(CAddBasicDlg, CDHtmlDialog)
CAddBasicDlg::CAddBasicDlg(CWnd* pParent /*=NULL*/)
: CDHtmlDialog(CAddBasicDlg::IDD, CAddBasicDlg::IDH, pParent)
{
m_IMAGE=_T("");
m_SEX=_T("男");
m_NATION=_T("漢");
m_DEPARTMENT=_T("");
m_HOMEPAGE="http://";
m_EMAIL="youremail@host";
m_JOB=_T("");
m_ZHICHENG=_T("");
m_TELENO=_T("00000");
}
CAddBasicDlg::~CAddBasicDlg()
{
}
void CAddBasicDlg::DoDataExchange(CDataExchange* pDX)
{
CDHtmlDialog::DoDataExchange(pDX);
DDX_DHtml_ElementValue(pDX,_T("name"),this->m_NAME);
DDV_MaxChars(pDX,m_NAME,20);
DDX_DHtml_SelectString(pDX,_T("sex"),this->m_SEX);
DDV_MaxChars(pDX,m_SEX,2);
DDX_DHtml_ElementValue(pDX,_T("nation"),this->m_NATION);
DDV_MaxChars(pDX,m_NATION,30);
DDX_DHtml_ElementValue(pDX,_T("job"),this->m_JOB);
DDV_MaxChars(pDX,m_JOB,20);
DDX_DHtml_ElementValue(pDX,_T("zhicheng"),this->m_ZHICHENG);
DDV_MaxChars(pDX,m_ZHICHENG,30);
DDX_DHtml_ElementValue(pDX,_T("duty"),this->m_DUTY);
DDV_MaxChars(pDX,m_DUTY,30);
DDX_DHtml_ElementValue(pDX,_T("department"),this->m_DEPARTMENT);
DDV_MaxChars(pDX,m_DEPARTMENT,30);
DDX_DHtml_ElementValue(pDX,_T("teleno"),this->m_TELENO);
DDV_MaxChars(pDX,m_TELENO,30);
DDX_DHtml_ElementValue(pDX,_T("email"),this->m_EMAIL);
DDV_MaxChars(pDX,m_EMAIL,30);
DDX_DHtml_ElementValue(pDX,_T("homepage"),this->m_HOMEPAGE);
DDV_MaxChars(pDX,m_HOMEPAGE,30);
DDX_DHtml_ElementValue(pDX,_T("openfile"),this->m_IMAGE);
}
BOOL CAddBasicDlg::OnInitDialog()
{
CDHtmlDialog::OnInitDialog();
this->SetWindowPos (&CWnd::wndNoTopMost ,0,0,600,350,SWP_NOZORDER);
this->m_wndBrowser.SetWindowPos(&CWnd::wndNoTopMost ,0,0,600,350,SWP_NOZORDER);
this->CenterWindow ();
return TRUE; // 除非將焦點(diǎn)設(shè)置到控件,否則返回 TRUE
}
BEGIN_MESSAGE_MAP(CAddBasicDlg, CDHtmlDialog)
END_MESSAGE_MAP()
BEGIN_DHTML_EVENT_MAP(CAddBasicDlg)
DHTML_EVENT_ONCLICK(_T("ButtonOK"), OnButtonOK)
DHTML_EVENT_ONCLICK(_T("ButtonCancel"), OnButtonCancel)
DHTML_EVENT_ONMOUSEDOWN(_T("Caption"),OnMouseDown)
DHTML_EVENT_ONCLICK(_T("OpenImage"),OnOpenImage)
END_DHTML_EVENT_MAP()
// CAddBasicDlg 消息處理程序
HRESULT CAddBasicDlg::OnButtonOK(IHTMLElement* /*pElement*/)
{
UpdateData();
CBASIC basicset;
CString strSQL;
basicset.Open();
int count=0;
while(!basicset.IsEOF () )
{
if(basicset.m_BASIC_ID !=count) break;
basicset.MoveNext ();
count++;
}
strSQL.Format("insert into BASIC values(%d,'%s','%s','%s','%s','%s','%s','%s',%d,'%s','%s',NULL)",
count,m_NAME,m_SEX,m_NATION,m_JOB,m_ZHICHENG,
m_DUTY,m_DEPARTMENT,m_TELENO,m_EMAIL,m_HOMEPAGE);
if(!m_NAME.IsEmpty ())
{
try
{
basicset.m_pDatabase ->ExecuteSQL(strSQL);
if(this->m_IMAGE .IsEmpty())
this->WriteImage (count);
AfxMessageBox("記錄添加成功");
}
catch( CDBException *e)
{
AfxMessageBox(e->m_strError );
e->Delete ();
}
}
else
{
AfxMessageBox("姓名不能為空");
}
m_NAME.Empty();
m_NATION="漢";
m_DEPARTMENT.Empty();
m_HOMEPAGE="http://";
m_EMAIL="youremail@host";
m_JOB.Empty ();
m_ZHICHENG.Empty ();
m_SEX.Empty();
m_DUTY.Empty ();
m_TELENO.Empty();
this->UpdateData(FALSE);
basicset.Close();
return S_OK; // 除非將焦點(diǎn)設(shè)置到控件,否則返回 TRUE
}
HRESULT CAddBasicDlg::OnButtonCancel(IHTMLElement* /*pElement*/)
{
OnCancel();
return S_OK; // 除非將焦點(diǎn)設(shè)置到控件,否則返回 TRUE
}
HRESULT CAddBasicDlg::OnMouseDown(IHTMLElement* /*pElement*/)
{
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(0,0));
return S_OK;
}
HRESULT CAddBasicDlg::OnOpenImage(IHTMLElement* pElement)
{
char Filters[]="BMP Files (*.BMP)|*.bmp|GIF Files (*.gif)|*.gif|JPEG Files(*.jpg)|*.jpg|PNG Files(*.png)|*.png||";
CFileDialog dlg(TRUE,"bmp",NULL,OFN_HIDEREADONLY,Filters);
UpdateData();
if(dlg.DoModal ()==IDOK)
{
CString filename=dlg.GetPathName();
CComPtr<IHTMLElement> spInput;
GetElementInterface(_T("openfile"), IID_IHTMLElement, (void **) &spInput);
if(spInput)
{
CComVariant var;
var=filename;
UpdateData();
this->m_IMAGE =filename;
this->UpdateData(FALSE);
//this->SetElementProperty (_T("openfile"),DISPID_A_VALUE,&var);
BSTR srcBstr=::SysAllocString(L"src");
pElement->setAttribute(srcBstr,var);
::SysFreeString( srcBstr);
}
}
return S_OK;
}
void CAddBasicDlg::OnOK()
{
}
void CAddBasicDlg::WriteImage(int ID)
{
CBASIC basicset;
//int index=m_ctrList.GetSelectionMark ();
//CString strID=m_ctrList.GetItemText(index,0);
CString strSQL;
strSQL.Format ("select * from BASIC where BASIC_ID=%s",ID);
basicset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(basicset.GetRecordCount()!=0)
{
basicset.Edit();
{
CFile file(m_IMAGE,CFile::modeRead);
CFileStatus fileStatus;
file.GetStatus(fileStatus);
HGLOBAL hMem=(HGLOBAL)GlobalAlloc(GMEM_FIXED ,(DWORD)fileStatus.m_size);
basicset.m_BASIC_IMAGE.m_hData = GlobalLock( hMem);
basicset.m_BASIC_IMAGE.m_dwDataLength =(DWORD)fileStatus.m_size;
file.Read(basicset.m_BASIC_IMAGE .m_hData,(DWORD)fileStatus.m_size);
basicset.SetFieldDirty(&basicset.m_BASIC_IMAGE );
basicset.SetFieldNull (&basicset.m_BASIC_IMAGE ,FALSE);
basicset.Update ();
file.Close ();
GlobalUnlock(hMem);
basicset.Close ();
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -