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

📄 addbasicdlg.cpp

📁 html MFC对话框显示数据库内容
💻 CPP
字号:
// AddBasicDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "htmdb.h"
#include "AddBasicDlg.h"
#include "BASIC.h"


// CAddBasicDlg 对话框

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;  // 除非将焦点设置到控件,否则返回 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;  // 除非将焦点设置到控件,否则返回 TRUE
}

HRESULT CAddBasicDlg::OnButtonCancel(IHTMLElement* /*pElement*/)
{
	OnCancel();
	return S_OK;  // 除非将焦点设置到控件,否则返回 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 ();
	}
	}


}

⌨️ 快捷键说明

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