不用加入资源的`我想连到外部的图片`例如同一目录下的ren/bg.jpg
将这张图显示为背景`怎么做`代码看看
将这张图显示为背景`怎么做`代码看看
解决方案 »
- 鼠标右击列表框时怎么知道哪一项被右击了
- 不同函数之能否用goto
- 动态链接库 开辟与释放内存 问题 --------- 在线等 !!!!!!!!!!!!!!!!!!!!!!!!!
- 用VC++实现平面圆的三角网格剖分,需要用到VC++哪些相关知识呢?请教各位
- win32应用程序如何加启动参数
- 入门问题:SDI窗口如何拆分如下形状
- 请问richedit控件怎么使用?哪有这方面的例子啊,要求可以更改文字的颜色和大小等。
- 重载CSocket类的OnReceive等函数后,CSocket是不是相当于一个线程?
- 哪里能找到vs6的sp5英文版!!!
- 如何把一个可执行程序当作线程启动起来?
- 求助:1000个数据点如何绘制在100个像素范围内????
- 关于HOOK CreateProcess的问题!
就是debug同目录下有个ren/bg.jpg
BOOL CMyListView::ShowJpg(CDC* pDC,CString strPath, int x, int y){
IStream *pStm;
CFileStatus fstatus;
CFile file;
LONG cb; //打开文件并检测文件的有效性
if (file.Open(strPath,CFile::modeRead)&&
file.GetStatus(strPath,fstatus)&&
((cb = fstatus.m_size) != -1))
{
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);
LPVOID pvData = NULL;
if (hGlobal != NULL)
{
pvData = GlobalLock(hGlobal);
if (pvData != NULL)
{
file.ReadHuge(pvData, cb); //6.0中可能是用这个函数
//file.Read(pvData, cb); //VC2005.NET中用这个函数
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);
}
} }
else
{
return false;
} //打开文件结束
IPicture *pPic;
if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
{
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
double fX,fY; fX = (double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);
fY = (double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);
if(FAILED(pPic->Render(*pDC,x,y,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL)))
{
pPic->Release();
pStm->Release();
return false;
}
pPic->Release();
pStm->Release();
}
else
{
return false;
} return true;
}