www.pudn.com > student_system.rar > DaDjxsDlg.cpp


// DaDjxsDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "student.h" 
#include "DaDjxsDlg.h" 
#include "studentview.h" 
#include "ado.h" 
#include "resource.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CDaDjxsDlg dialog 
 
 
CDaDjxsDlg::CDaDjxsDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CDaDjxsDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CDaDjxsDlg) 
	m_S_Jb = _T(""); 
	m_S_Bj = _T(""); 
	m_S_ID = _T(""); 
	m_S_Xm = _T(""); 
	m_S_Xsly = _T(""); 
	m_S_Yb = _T(""); 
	m_S_Zzmm = _T(""); 
	m_S_Hkd = _T(""); 
	m_S_Jzzz = _T(""); 
	m_S_Tcah = _T(""); 
	m_S_Mz = _T(""); 
	m_S_Lxdh = _T(""); 
	m_S_Jzxm = _T(""); 
	m_S_Jtxm = _T(""); 
	m_S_Jtnl = _T(""); 
	m_S_Jtgzdw = _T(""); 
	m_S_Jtgx = _T(""); 
	m_S_Jtdh = _T(""); 
	m_S_Jlrm = _T(""); 
	m_S_Jlm = _T(""); 
	m_S_Jkzk = _T(""); 
	m_S_Jg = _T(""); 
	m_S_Bz = _T(""); 
	m_S_Byxx = _T(""); 
	m_S_Sfyd = FALSE; 
	m_S_Xb = _T(""); 
	m_S_Xjzk = _T(""); 
	m_S_Zsqk = _T(""); 
	m_S_Csrq = 0; 
	m_S_Jlf = 0; 
	m_S_Jlt = 0; 
	m_S_Zy = _T(""); 
	//}}AFX_DATA_INIT 
	IsInit = false; 
	m_zp.Buffer =NULL; 
	m_zp.Size = 0; 
} 
 
CDaDjxsDlg::~CDaDjxsDlg() 
{ 
	if(m_zp.Buffer!=NULL) 
	{ 
		delete m_zp.Buffer; 
	} 
} 
 
void CDaDjxsDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CDaDjxsDlg) 
	DDX_Control(pDX, IDC_COMBO_ZSQK, m_S_Zsqk_Con); 
	DDX_Control(pDX, IDC_COMBO_XB, m_S_Xb_Con); 
	DDX_Control(pDX, IDC_COMBO_XJZK, m_S_Xjzk_Con); 
	DDX_Control(pDX, IDC_COMBO_ZY, m_S_Zy_Con); 
	DDX_Control(pDX, IDC_IMAGE_ZP, m_S_Zp); 
	DDX_Control(pDX, IDC_LIST_JT, m_S_JT); 
	DDX_Control(pDX, IDC_LIST_JL, m_S_JL); 
	DDX_Text(pDX, IDC_EDIT_JB, m_S_Jb); 
	DDV_MaxChars(pDX, m_S_Jb, 4); 
	DDX_Text(pDX, IDC_EDIT_BJ, m_S_Bj); 
	DDX_Text(pDX, IDC_EDIT_ID, m_S_ID); 
	DDV_MaxChars(pDX, m_S_ID, 10); 
	DDX_Text(pDX, IDC_EDIT_XM, m_S_Xm); 
	DDX_Text(pDX, IDC_EDIT_XSLY, m_S_Xsly); 
	DDX_Text(pDX, IDC_EDIT_YB, m_S_Yb); 
	DDX_Text(pDX, IDC_EDIT_ZZMM, m_S_Zzmm); 
	DDX_Text(pDX, IDC_EDIT1_HKD, m_S_Hkd); 
	DDX_Text(pDX, IDC_EDIT1_JZZZ, m_S_Jzzz); 
	DDX_Text(pDX, IDC_EDIT_TCAH, m_S_Tcah); 
	DDX_Text(pDX, IDC_EDIT_MZ, m_S_Mz); 
	DDX_Text(pDX, IDC_EDIT_LXDH, m_S_Lxdh); 
	DDX_Text(pDX, IDC_EDIT_JZXM, m_S_Jzxm); 
	DDX_Text(pDX, IDC_EDIT_JTXM, m_S_Jtxm); 
	DDX_Text(pDX, IDC_EDIT_JTNL, m_S_Jtnl); 
	DDX_Text(pDX, IDC_EDIT_JTGZDW, m_S_Jtgzdw); 
	DDX_Text(pDX, IDC_EDIT_JTGX, m_S_Jtgx); 
	DDX_Text(pDX, IDC_EDIT_JTDH, m_S_Jtdh); 
	DDX_Text(pDX, IDC_EDIT_JLRM, m_S_Jlrm); 
	DDX_Text(pDX, IDC_EDIT_JLM, m_S_Jlm); 
	DDX_Text(pDX, IDC_EDIT_JKZK, m_S_Jkzk); 
	DDX_Text(pDX, IDC_EDIT_JG, m_S_Jg); 
	DDX_Text(pDX, IDC_EDIT_BZ, m_S_Bz); 
	DDX_Text(pDX, IDC_EDIT_BYXX, m_S_Byxx); 
	DDX_Check(pDX, IDC_CHECK_SFYD, m_S_Sfyd); 
	DDX_CBString(pDX, IDC_COMBO_XB, m_S_Xb); 
	DDX_CBString(pDX, IDC_COMBO_XJZK, m_S_Xjzk); 
	DDX_CBString(pDX, IDC_COMBO_ZSQK, m_S_Zsqk); 
	DDX_DateTimeCtrl(pDX, IDC_DATETIME_CSRQ, m_S_Csrq); 
	DDX_DateTimeCtrl(pDX, IDC_DATETIME_JLF, m_S_Jlf); 
	DDX_DateTimeCtrl(pDX, IDC_DATETIME_JLT, m_S_Jlt); 
	DDX_CBString(pDX, IDC_COMBO_ZY, m_S_Zy); 
	//}}AFX_DATA_MAP 
	if(!IsInit) 
	{ 
//设置窗口位置 
	CRect rect1,rect2; 
	this->GetClientRect(&rect1); 
	this->m_parent->GetClientRect(&rect2); 
	int x= (rect2.Width()-STATIC_MYWIN_LEFT-rect1.Width())/2 +STATIC_MYWIN_LEFT; 
	int y= (rect2.Height()-STATIC_MYWIN_TOP-rect1.Height())/2 +STATIC_MYWIN_TOP; 
	if(xMoveWindow(x,y,rect1.Width(),rect1.Height()); 
 
//设置初始值 
	InitValues(); 
 
 
	LV_COLUMN lvc; 
	 
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/; 
	 
	lvc.iSubItem = 0; 
	lvc.pszText = (char *)"关系"; 
	lvc.cx = 50; 
	m_S_JT.InsertColumn(0,&lvc); 
	 
	lvc.iSubItem = 1; 
	lvc.pszText = (char *)"姓名"; 
	lvc.cx = 100; 
	m_S_JT.InsertColumn(1,&lvc); 
	 
	lvc.iSubItem = 2; 
	lvc.pszText = (char *)"年龄"; 
	lvc.cx =50; 
	m_S_JT.InsertColumn(2,&lvc); 
	 
	lvc.iSubItem = 3; 
	lvc.pszText = (char *)"工作单位及职位"; 
	lvc.cx = 300; 
	m_S_JT.InsertColumn(3,&lvc); 
	 
	lvc.iSubItem = 4; 
	lvc.pszText = (char *)"联系电话"; 
	lvc.cx = 100; 
	m_S_JT.InsertColumn(4,&lvc); 
 
	lvc.iSubItem = 0; 
	lvc.pszText = (char *)"何年月起"; 
	lvc.cx = 100; 
	m_S_JL.InsertColumn(0,&lvc); 
	 
	lvc.iSubItem = 1; 
	lvc.pszText = (char *)"到何年月"; 
	lvc.cx = 100; 
	m_S_JL.InsertColumn(1,&lvc); 
	 
	lvc.iSubItem = 2; 
	lvc.pszText = (char *)"在何学校及任职"; 
	lvc.cx =200; 
	m_S_JL.InsertColumn(2,&lvc); 
	 
	lvc.iSubItem = 3; 
	lvc.pszText = (char *)"证明人"; 
	lvc.cx = 100; 
	m_S_JL.InsertColumn(3,&lvc); 
// 
	m_S_Zy_Con.SetCurSel(0); 
	m_S_Xb_Con.SetCurSel(0); 
	m_S_Xjzk_Con.SetCurSel(0); 
	m_S_Zsqk_Con.SetCurSel(0); 
	 
//完成初始化 
	IsInit = true; 
	} 
} 
 
 
BEGIN_MESSAGE_MAP(CDaDjxsDlg, CDialog) 
	//{{AFX_MSG_MAP(CDaDjxsDlg) 
	ON_BN_CLICKED(IDC_BU_CLOSE, OnBuClose) 
	ON_BN_CLICKED(IDC_BU_UP, OnBuUp) 
	ON_BN_CLICKED(IDC_BU_JTCY, OnBuJtcy) 
	ON_BN_CLICKED(IDC_BU_JTCY_DEL, OnBuJtcyDel) 
	ON_BN_CLICKED(IDC_BU_JL, OnBuJl) 
	ON_BN_CLICKED(IDC_BU_JL_DEL, OnBuJlDel) 
	ON_BN_CLICKED(IDC_BU_PIC_LL, OnBuPicLl) 
	ON_WM_SHOWWINDOW() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CDaDjxsDlg message handlers 
 
void CDaDjxsDlg::OnBuClose()  
{ 
	// TODO: Add your control notification handler code here 
	this->m_parent->m_Dlg_DaDjxs = NULL; 
	LVFINDINFO info; 
	info.psz = "登记学生"; 
	info.flags = LVFI_STRING; 
	this->m_parent->m_listCtrlGN.DeleteItem(this->m_parent->m_listCtrlGN.FindItem(&info))	; 
	 
	this->DestroyWindow(); 
} 
 
void CDaDjxsDlg::OnBuUp()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
 
	if(!TestValues()) 
	{ 
		MessageBox(ErrorText); 
		return ; 
	} 
	m_S_Zy.TrimRight(); 
	CString sql ; 
	sql.Format("SELECT * FROM ZyTable WHERE Z_Name='%s'",m_S_Zy); 
	this->m_parent->m_recSet->Open(sql.GetBuffer(100)); 
	int ZyID; 
	this->m_parent->m_recSet->GetFieldValue("Z_ID",ZyID); 
	this->m_parent->m_recSet->Close(); 
	 
	sql.Format("SELECT * FROM Student WHERE S_ID='%s'",m_S_ID); 
	this->m_parent->m_recSet->Open(sql.GetBuffer(100)); 
	if(this->m_parent->m_recSet->GetRecordCount() >0) 
	{ 
		MessageBox("学号已存在"); 
		return; 
	} 
	this->m_parent->m_recSet->AddNew(); 
	this->m_parent->m_recSet->SetFieldValue("S_ID",m_S_ID); 
	this->m_parent->m_recSet->SetFieldValue("S_Xb",m_S_Xb); 
	this->m_parent->m_recSet->SetFieldValue("S_Name",m_S_Xm); 
	this->m_parent->m_recSet->SetFieldValue("S_CSRQ",COleDateTime(m_S_Csrq.GetYear(),m_S_Csrq.GetMonth(),m_S_Csrq.GetDay(),m_S_Csrq.GetHour(),m_S_Csrq.GetMinute(),m_S_Csrq.GetSecond())); 
	this->m_parent->m_recSet->SetFieldValue("S_Bj",m_S_Bj); 
	this->m_parent->m_recSet->SetFieldValue("S_Jb",m_S_Jb); 
	this->m_parent->m_recSet->SetFieldValue("S_Mz",m_S_Mz); 
	this->m_parent->m_recSet->SetFieldValue("S_Jg",m_S_Jg); 
	this->m_parent->m_recSet->SetFieldValue("S_Zzmm",m_S_Zzmm); 
	this->m_parent->m_recSet->SetFieldValue("S_Jkzk",m_S_Jkzk); 
	this->m_parent->m_recSet->SetFieldValue("S_Jzxm",m_S_Jzxm); 
	this->m_parent->m_recSet->SetFieldValue("S_Jtzz",m_S_Jzzz); 
	this->m_parent->m_recSet->SetFieldValue("S_Lxdh",m_S_Lxdh); 
	this->m_parent->m_recSet->SetFieldValue("S_Hkd",m_S_Hkd); 
	this->m_parent->m_recSet->SetFieldValue("S_Yb",m_S_Yb); 
	this->m_parent->m_recSet->SetFieldValue("S_Xsly",m_S_Xsly); 
	this->m_parent->m_recSet->SetFieldValue("S_Byxx",m_S_Byxx); 
	this->m_parent->m_recSet->SetFieldValue("S_Ahtc",m_S_Tcah); 
	this->m_parent->m_recSet->SetFieldValue("S_Zt",m_S_Xjzk); 
	this->m_parent->m_recSet->SetFieldValue("S_Zsqk",m_S_Zsqk); 
	this->m_parent->m_recSet->SetFieldValue("S_Sfyd",m_S_Sfyd); 
	this->m_parent->m_recSet->SetFieldValue("S_BZ",m_S_Bz); 
	this->m_parent->m_recSet->SetFieldValue("Z_ID",ZyID); 
 
	if(m_zp.Buffer !=NULL) 
	{ 
		BYTE *pBuf = m_zp.Buffer;     ///下面这一大段是把pBuffer里的jpg数据放到库中 
		_variant_t			varBLOB; 
		SAFEARRAY		*psa; 
		SAFEARRAYBOUND	rgsabound[1]; 
 
		if(pBuf) 
		{     
			rgsabound[0].lLbound = 0; 
			rgsabound[0].cElements = m_zp.Size; 
			psa = SafeArrayCreate(VT_UI1, 1, rgsabound); 
			for (long i = 0; i < (long)m_zp.Size; i++) 
				SafeArrayPutElement (psa, &i, pBuf++); 
			varBLOB.vt = VT_ARRAY | VT_UI1; 
			varBLOB.parray = psa; 
			this->m_parent->m_recSet->SetFieldValue("S_Zp",varBLOB); 
		} 
	 
	} 
	this->m_parent->m_recSet->Update(); 
	this->m_parent->m_recSet->Close(); 
	 
	//家庭成员 
	sql.Format("SELECT * FROM JtcyTable WHERE S_ID='%s'",m_S_ID); 
	this->m_parent->m_recSet->Open(sql.GetBuffer(100)); 
	int count = m_S_JT.GetItemCount(); 
	int i; 
	for(i=0;im_parent->m_recSet->AddNew();		 
		this->m_parent->m_recSet->SetFieldValue("S_ID",m_S_ID); 
		this->m_parent->m_recSet->SetFieldValue("J_ID",i); 
		this->m_parent->m_recSet->SetFieldValue("J_Gx",m_S_JT.GetItemText(i,0)); 
		this->m_parent->m_recSet->SetFieldValue("J_Name",m_S_JT.GetItemText(i,1)); 
		this->m_parent->m_recSet->SetFieldValue("J_Nl",m_S_JT.GetItemText(i,2)); 
		this->m_parent->m_recSet->SetFieldValue("J_Dw",m_S_JT.GetItemText(i,3)); 
		this->m_parent->m_recSet->SetFieldValue("J_Dh",m_S_JT.GetItemText(i,4)); 
 
	} 
	this->m_parent->m_recSet->Update(); 
	this->m_parent->m_recSet->Close(); 
 
	//经历 
	sql.Format("SELECT * FROM JlTable WHERE S_ID='%s'",m_S_ID); 
	this->m_parent->m_recSet->Open(sql.GetBuffer(100)); 
	count = m_S_JL.GetItemCount(); 
	COleDateTime dateTemp; 
	for(i=0;im_parent->m_recSet->AddNew();		 
		this->m_parent->m_recSet->SetFieldValue("S_ID",m_S_ID); 
		this->m_parent->m_recSet->SetFieldValue("L_ID",i); 
		dateTemp.ParseDateTime(m_S_JL.GetItemText(i,0)); 
		this->m_parent->m_recSet->SetFieldValue("L_From",dateTemp); 
		dateTemp.ParseDateTime(m_S_JL.GetItemText(i,1)); 
		this->m_parent->m_recSet->SetFieldValue("L_To",dateTemp); 
		this->m_parent->m_recSet->SetFieldValue("L_Xxm",m_S_JL.GetItemText(i,2)); 
		this->m_parent->m_recSet->SetFieldValue("L_Zmr",m_S_JL.GetItemText(i,3)); 
		 
	} 
	this->m_parent->m_recSet->Update(); 
	this->m_parent->m_recSet->Close(); 
	 
	if(6 ==MessageBox("是否继续添加?","添加",MB_YESNO)) 
	{ 
		InitValues()	; 
	} 
	this->UpdateData(false); 
} 
 
bool CDaDjxsDlg::TestValues() 
{ 
	 
	m_S_ID.TrimRight(); 
	m_S_ID.TrimLeft(); 
	if(m_S_ID =="") 
	{ 
		ErrorText = "学号不能为空"; 
		return false; 
	} 
	this->m_S_Xb.TrimLeft(); 
	this->m_S_Xb.TrimRight(); 
	if(!(m_S_Xb.Compare("男")==0 || m_S_Xb.Compare("女")==0)) 
	{ 
		ErrorText = "请选择性别"; 
		return false; 
	} 
	 
	this->m_S_Xm.TrimLeft(); 
	this->m_S_Xm.TrimRight(); 
	if(m_S_Xm == "") 
	{ 
		ErrorText = "请输入姓名"; 
		return false; 
	} 
	 
	this->m_S_Bj.TrimLeft(); 
	this->m_S_Bj.TrimRight(); 
	if(this->m_S_Bj == "") 
	{ 
		ErrorText = "请输入班级"; 
		return false; 
	} 
 
	this->m_S_Jb.TrimLeft(); 
	this->m_S_Jb.TrimRight(); 
	if(this->m_S_Jb == "") 
	{ 
		ErrorText = "请输入级别"; 
		return false; 
	} 
 
 
	return true; 
} 
 
void CDaDjxsDlg::InitValues() 
{ 
		m_S_Jb		=""; 
		m_S_Bj		=""; 
		m_S_ID		=""; 
		m_S_Xm		=""; 
		m_S_Xsly	=""; 
		m_S_Yb		=""; 
		m_S_Zzmm	=""; 
		m_S_Hkd		=""; 
		m_S_Jzzz	=""; 
		m_S_Tcah	=""; 
		m_S_Mz		=""; 
		m_S_Lxdh	=""; 
		m_S_Jzxm	=""; 
		m_S_Jtxm	=""; 
		m_S_Jtnl	=""; 
		m_S_Jtgzdw	=""; 
		m_S_Jtgx	=""; 
		m_S_Jtdh	=""; 
		m_S_Jlrm	=""; 
		m_S_Jlm		=""; 
		m_S_Jkzk	=""; 
		m_S_Jg		=""; 
		m_S_Bz		=""; 
		m_S_Byxx	=""; 
		m_S_Sfyd	=false; 
		m_S_Xb		=""; 
		m_S_Xjzk	=""; 
		m_S_Zsqk	=""; 
		 
		int count  = m_S_Zy_Con.GetCount(); 
		int i; 
		for(i=0;im_parent->m_recSet->Open("SELECT * FROM ZyTable"); 
		CString temp; 
		while(!this->m_parent->m_recSet->IsEOF()) 
		{ 
			this->m_parent->m_recSet->GetFieldValue("Z_Name",temp); 
			m_S_Zy_Con.AddString(temp); 
			this->m_parent->m_recSet->MoveNext(); 
		} 
		this->m_parent->m_recSet->Close(); 
		m_S_JL.DeleteAllItems(); 
		m_S_JT.DeleteAllItems(); 
 
		if(m_zp.Buffer !=NULL) 
		{ 
			delete m_zp.Buffer; 
			m_zp.Buffer =NULL; 
			m_zp.Size=0; 
		} 
		m_S_Zp.Invalidate(false); 
		 
} 
 
void CDaDjxsDlg::OnBuJtcy()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	m_S_Jtgx.TrimLeft(); 
	m_S_Jtgx.TrimRight(); 
	if(m_S_Jtgx =="") 
	{ 
		MessageBox("关系不能为空"); 
		return; 
	} 
	m_S_Jtxm.TrimLeft(); 
	m_S_Jtxm.TrimRight(); 
	if(m_S_Jtxm =="") 
	{ 
		MessageBox("姓名不能为空"); 
		return; 
	} 
	m_S_Jtnl.TrimLeft(); 
	m_S_Jtnl.TrimRight(); 
	if(m_S_Jtnl =="") 
	{ 
		MessageBox("年龄不能为空"); 
		return; 
	} 
	int count = m_S_JT.GetItemCount(); 
	LV_ITEM lvitem; 
	lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE; 
	lvitem.state = 0;       
	lvitem.stateMask = 0;  
	char temp[50]; 
	 
	lvitem.iItem = count; 
	lvitem.iSubItem = 0; 
	lvitem.pszText =itoa(count, temp, 10);  
	m_S_JT.InsertItem(&lvitem); 
	 
	m_S_JT.SetItemText(count,0,m_S_Jtgx); 
	m_S_JT.SetItemText(count,1,m_S_Jtxm); 
	m_S_JT.SetItemText(count,2,m_S_Jtnl); 
	m_S_JT.SetItemText(count,3,m_S_Jtgzdw); 
	m_S_JT.SetItemText(count,4,m_S_Jtdh); 
 
	this->UpdateData(false); 
} 
 
 
 
 
void CDaDjxsDlg::OnBuJtcyDel()  
{ 
	// TODO: Add your control notification handler code here 
	int index = m_S_JT.GetSelectionMark(); 
	if(index<0) 
	{ 
		MessageBox("请选择要删除的行"); 
		return; 
	} 
	m_S_JT.DeleteItem(index); 
} 
 
void CDaDjxsDlg::OnBuJl()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	m_S_Jlm.TrimLeft(); 
	m_S_Jlm.TrimRight(); 
	if(m_S_Jlm =="") 
	{ 
		MessageBox("请输入校名"); 
		return; 
	} 
	m_S_Jlrm.TrimLeft(); 
	m_S_Jlrm.TrimRight(); 
	if(m_S_Jlm == "") 
	{ 
		MessageBox("请输入证明人"); 
		return; 
	} 
	int count = m_S_JL.GetItemCount(); 
	LV_ITEM lvitem; 
	lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE; 
	lvitem.state = 0;       
	lvitem.stateMask = 0;  
	char temp[50]; 
	 
	lvitem.iItem = count; 
	lvitem.iSubItem = 0; 
	lvitem.pszText =itoa(count, temp, 10);  
	m_S_JL.InsertItem(&lvitem); 
	 
	m_S_JL.SetItemText(count,0,m_S_Jlf.Format("%Y/%m/%d")); 
	m_S_JL.SetItemText(count,1,m_S_Jlt.Format("%Y/%m/%d")); 
	m_S_JL.SetItemText(count,2,m_S_Jlm); 
	m_S_JL.SetItemText(count,3,m_S_Jlrm); 
 
	this->UpdateData(false); 
} 
 
void CDaDjxsDlg::OnBuJlDel()  
{ 
	// TODO: Add your control notification handler code here 
	int index = m_S_JL.GetSelectionMark(); 
	if(index<0) 
	{ 
		MessageBox("请选择要删除的行"); 
		return; 
	} 
	m_S_JL.DeleteItem(index); 
} 
 
 
 
void CDaDjxsDlg::OnBuPicLl()  
{ 
	// TODO: Add your control notification handler code here 
	CFile f; 
	CString  FilePathName; 
	CFileException e; 
	CPicture m_Pic; 
	 
	CFileDialog dlg(TRUE,NULL,NULL,0,"jpg Files (*.jpg)|*.jpg||",this);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 
	if(dlg.DoModal()==IDOK) 
	{FilePathName=dlg.GetPathName(); 
	 
	if(m_Pic.m_IPicture != NULL) m_Pic.FreePictureData(); // Important - Avoid Leaks... 
	 
	if(f.Open(FilePathName, CFile::modeRead | CFile::typeBinary, &e)) //打开了一个jpg文件 
	{	 
		 
		int nSize = f.GetLength();          //先得到jpg文件长度 
		BYTE * pBuffer = new BYTE [nSize];  //按文件的大小在堆上申请一块内存 
		f.Read(pBuffer, nSize); 
		 
		if(this->m_zp.Buffer != NULL) 
		{ 
			delete m_zp.Buffer; 
			m_zp.Buffer = NULL; 
			m_zp.Size = 0; 
		} 
		m_zp.Buffer = pBuffer; 
		m_zp.Size = nSize; 
	} 
	 
	ShowDataImage(); 
	} 
} 
 
void CDaDjxsDlg::ShowDataImage() 
{ 
	m_S_Zp.Invalidate(true); 
	 
	(m_Pic.LoadPictureData(m_zp.Buffer, m_zp.Size)); 
		 
	///生成BITMAP对象 
	CDC *dc = m_S_Zp.GetDC(); 
	CRect  rect; 
	m_S_Zp.GetClientRect(rect); 
	m_Pic.UpdateSizeOnDC(dc); // Get Picture Dimentions In Pixels 
	m_Pic.Show(dc, CRect(0,0,rect.Width(),rect.Height())); 
} 
 
void CDaDjxsDlg::OnShowWindow(BOOL bShow, UINT nStatus)  
{ 
	CDialog::OnShowWindow(bShow, nStatus); 
	 
	// TODO: Add your message handler code here 
 
}