用哪些控件?
谢谢
谢谢
解决方案 »
- 有没有谁能够帮我弄弄MFC?最近要交了!!90%都做好了!!还有一点小问题,请联系我,QQ:381853390,我直接把工程文件发给你!!跪谢!!!!
- SetBkColor在视类中的OnEraseBkgnd()怎么不起作用啊?
- 请教对D/A转换器的控制?
- 我在现的动态连接库中添加新的数据或函数。为什么调用dll程序中不能装载我新定义的函数,而且函数的中的定义的数据类型,我也在动态连接
- 如何在C###App::InitInstance()执行时,取得当前view的指针?
- 怎么限制输入是值是数值型?
- 大家好!
- 求助,关于标签控件Tab control两个子对话框中互相获取对方变量的方法
- 在程序中调用了DLL函数,但在没有DLL的情况下编译是否会报错?
- 一个VC新手的困惑.............
- 关于CTreeCtrl的问题,请大家指点
- 求救:寻求在HtmlEditView上选择单元格的代码(快要崩溃)请做过类似项目的高手指点
see this,can help you.
http://www.codeproject.com/bitmap/cximage.asp
VB6基本控件picture就可以,
或者到http://www.vbprobe.com/ocx/default.asp?sub_kind=31下载。
http://www.csdn.net/Develop/Read_Article.asp?Id=10632
{
CFile file;
CFileStatus fstatus;
//内容放到流接口IStream的对象pStm中:
IStream *pStm;
LONG nDataSize;
HGLOBAL hGlobalRes,hGlobalMem;
LPVOID pvData = NULL;
LPPICTURE pPic; //IPicture* pPic; //指向图片的指针
//以资源的形式读取图片数据
HMODULE hmod=AfxGetResourceHandle();//AfxGetResourceHandle();
HRSRC hPicResource=FindResource(hmod,MAKEINTRESOURCE(IDR_JPG_DOWNLOAD), _T("JPG"));
// 装载资源数据并加锁:
nDataSize=SizeofResource(hmod,hPicResource);
hGlobalRes=LoadResource(hmod,hPicResource);
LockResource(hGlobalRes);
//为图片申请内存块
hGlobalMem = GlobalAlloc(GMEM_MOVEABLE, nDataSize);
if (hGlobalMem != NULL) {
if ((pvData = GlobalLock(hGlobalMem)) != NULL) { //将数据指针指向内存块
memcpy(pvData,hGlobalRes,nDataSize); //将资源中的图片数据拷到内存中
GlobalUnlock(hGlobalMem);
CreateStreamOnHGlobal(hGlobalMem, TRUE, &pStm); //在内存块中创建流对象
}
}
UnlockResource(hGlobalMem);
try {
if(SUCCEEDED(OleLoadPicture(pStm,nDataSize,FALSE,IID_IPicture,(LPVOID*)&pPic))) {
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;
pPic->get_Width(&hmWidth); //返回图像的宽,单位是HIMETRIC (each unit is 0.01 millimeters) (1毫米=100 HIMETRIC)
pPic->get_Height(&hmHeight); //返回图像的高,单位是HIMETRIC
int nX,nY;
CSize size;
size.cx =hmWidth;
size.cy =hmHeight;
pDC->HIMETRICtoDP(&size);
nX=size.cx;
nY=size.cy;
//为防止闪烁,先在内存中作图
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap Bmp;
Bmp.CreateCompatibleBitmap(pDC, nX, nY);
CBitmap *pBmpOld = MemDC.SelectObject(&Bmp);
CRect rc(0, 0, nX, nY);
MemDC.FillSolidRect(&rc, RGB(0,0,0));
if(FAILED(pPic->Render(MemDC.GetSafeHdc(),0,0,nX,nY,0,hmHeight,hmWidth,-hmHeight,NULL))) {
//AfxMessageBox("渲染图像失败!");
throw -1;
}
pDC->BitBlt(rc.left, rc.top, rc.Width(), rc.Height(),
&MemDC, 0, 0, SRCCOPY);
MemDC.SelectObject(pBmpOld);
MemDC.DeleteDC();
Bmp.DeleteObject();
pPic->Release();
}
else {
//AfxMessageBox("从流中装载图像失败!");
throw -2;
}
}
catch(int errcode)
{
if(errcode==-1) {
TRACE("渲染图像失败!");
}
else if(errcode==-2) {
TRACE("从流中装载图像失败!");
}
UnlockResource(hGlobalMem);
FreeResource(hGlobalMem);
GlobalFree(hGlobalMem);
return FALSE;
}
FreeResource(hGlobalMem);
GlobalFree(hGlobalMem);
return TRUE;
}
vc.6 ++用IPicture