哪位高手帮小弟一忙
解决方案 »
- 串口程序,千分表发送数据,在电脑上接收到的数据显示不正常!!!
- Debug/ServerWindow.map
- 很怪的问题: 关于CRecordset::AddNew()
- 要连续读入200个300KB大小的图形文件,怎样读最快
- 我的程序中有一个主界面,然后起动一个线程做什么些事情,可有的时候,我的线程在操作数据时,需要锁住主界面,让主界面不能操作,如何做
- 一个VC--SQL数据库编程问题
- 1000分求费尔防火墙源码
- 请问VC++在WinXP下保存的时候老是出错,怎么解决?
- 请问怎样将一个弹出的菜单收回去呢?我发送了WM_UNINITMENUPOPUP消息,好象没用
- 能否得知当前程序运行在ghots系统 ?
- 如何实现gif和jpg相互转换?
- 一个小问题,马上结贴!
http://www.csdn.net/Develop/read_article.asp?id=24242
{
IPicture* p=NULL;
IStream* s=NULL;
HGLOBAL hG;
void* pp;
FILE* fp; // Read file in memory
fp = fopen(FileName,"rb");
if (!fp)
return NULL; fseek(fp,0,SEEK_END);
int fs = ftell(fp);
fseek(fp,0,SEEK_SET);
hG = GlobalAlloc(GPTR,fs);
if (!hG)
{
fclose(fp);
return NULL;
}
pp = (void*)hG;
fread(pp,1,fs,fp);
fclose(fp); CreateStreamOnHGlobal(hG,false,&s);
if (!s)
{
GlobalFree(hG);
return NULL;
} OleLoadPicture(s,0,false,IID_IPicture,(void**)&p); if (!p)
{
s->Release();
GlobalFree(hG);
return NULL;
} s->Release();
GlobalFree(hG); HBITMAP hB = 0;
p->get_Handle((unsigned int*)&hB); // Copy the image. Necessary, because upon p's release,
// the handle is destroyed.
HBITMAP hBB = (HBITMAP)CopyImage( hB,IMAGE_BITMAP,0,0,LR_COPYRETURNORG ); p->Release();
return hBB;
}然后
HBITMAP hbmp;
hbmp = LoadJPG( strFilePath ); if( hbmp != NULL)
{
m_bitmap.Detach();
m_bitmap.Attach(hbmp);
}
else
{
return;
}
在文件头加上
#include <atlimage.h>
在基于窗口的按钮函数加上:
CImage m_Image;
m_Image.Load("c:\\1.jpg");
CClientDC dc(this);
m_Image.Draw(dc.m_hDC,0,0);这里一篇文章可以参考:
http://www.itsofts.net/article/list.asp?id=7