vc的简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 01:20:54
void CPicDlg::ShowBmpInStaic()
{
CBitmap hbmp;
HBITMAP hbitmap;
//将pStatic指向要显示的地方
CStatic *pStaic;
pStaic=(CStatic*)GetDlgItem(IDC_SHOW);
//装载资源 MM.bmp是我的一个文件名,用你的替换
CPicSet m_picshow;//定义的数据库全局变量
m_picshow.Open();

//CString strFileName = "1";// 用来存放临时文件名,以该临时文件存放读取的数据库的图像数据。
if (m_picshow.IsEOF())
AfxMessageBox("Unable to get image from db");
else
{
char tmpPath[_MAX_PATH+1];
GetTempPath(_MAX_PATH,tmpPath);//得到临时文件的目录;

//strFileName.Insert(0,tmpPath);//生成临时文件名
CString strFileName = "temp.bmp";
strFileName = tmpPath+strFileName;

AfxMessageBox(strFileName);//显示临时文件目录
CFile outFile(strFileName,CFile::modeCreate|CFile::modeWrite);
//向临时文件写数据,数据库中数据读操作时关键是知道数据的长度,这可以从记录集的图像字段对应的长二进制成员变量m_Image的成员

//dwDataLength得到;
LPSTR buffer = (LPSTR)GlobalLock(m_picshow.m_pic.

不要使用ODBC的查询了,用ADO吧。如果是小型数据库,直接建文件来存取好了。

估计有错误

很可能在OnPaint()里没有做显示图片的操作,图片被刷新掉了。

晕,这么乱啊。
错误太多了哥们儿,是新手吧,先学学简单的吧。