添加AddToCombo函数.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
添加AddToCombo函数.doc

添加AddToCombo函数 void CInputpictureDlg::AddToCombo() { ADOConn m_AdoConn; m_AdoConn.OnInitADOConn(); _bstr_t sql; sql = select*from picture order by id; _RecordsetPtr m_pRecordset; m_pRecordset = m_AdoConn.GetRecordSet((_bstr_t)sql); int i=0; while(m_AdoConn.m_pRecordset-adoEOF==0) { m_combo.InsertString(i,(char*)(_bstr_t)m_pRecordset-GetCollect(id)); m_pRecordset-MoveNext(); i++; } m_AdoConn.ExitConnect(); } 添加OnSelchangeCombo1函数 void CInputpictureDlg::OnSelchangeCombo1() { // TODO: Add your control notification handler code here UpdateData(true); CString id; m_combo.GetLBText(m_combo.GetCurSel(),id); ADOConn m_AdoConn; m_AdoConn.OnInitADOConn(); _bstr_t sql; sql = select*from picture where id=+id+ ; _RecordsetPtr m_pRecordset; m_pRecordset=m_AdoConn.GetRecordSet(sql); //读取图像字段的实际大小 long lDataSize = m_pRecordset-GetFields()-GetItem(Photo)-ActualSize; char *m_pBuffer; //定义缓冲变量 if(lDataSize 0) { //从图像字段中读取数据到varBLOB中 _variant_t varBLOB; varBLOB = m_pRecordset-GetFields()-GetItem(Photo)-GetChunk(lDataSize); if(varBLOB.vt == (VT_ARRAY | VT_UI1)) { if(m_pBuffer = new char[lDataSize+1]) //分配必要的存储空间 { char *pBuf = NULL; SafeArrayAccessData(varBLOB.parray,(void **)pBuf); memcpy(m_pBuffer,pBuf,lDataSize); ///复制数据到缓冲区m_pBuffer SafeArrayUnaccessData (varBLOB.parray); //将数据转换为HBITMAP格式 LPSTR hDIB; LPVOID lpDIBBits; BITMAPFILEHEADER bmfHeader; //用于保存BMP文件头信息,包括类型、大小、位移量等 DWORD bmfHeaderLen; //保存文件头的长度 bmfHeaderLen = sizeof(bmfHeader); //读取文件头的长度 //将m_pBuffer中文件头复制到bmfHeader中 strncpy((LPSTR)bmfHeader, (LPSTR)m_pBuffer, bmfHeaderLen); if (bmfHeader.bfType != (*(WORD*)BM)) //如果文件类型不对,则返回 { MessageBox(BMP文件格式不准确); return; } hDIB = m_pBuffer + bmfHeaderLen; //将指针移至文件头后面 //读取BMP文件的图像数据,包括坐标及颜色格式等信息到BITMAPINFOHEADER对象 BITMAPINFOHEADER bmiHeader = *(LPBITMAPINFOHEADER)hDIB; //读取BMP文件的图像数据,包括坐标及颜色格式等信息到BITMAPINFO对象 BITMAPINFO bmInfo = *

文档评论(0)

zhaojq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档