创建单文本DSI,在***View类下用下面的代码代Ondraw函数。按窗口尺寸显示或按原大显示。如果想显示多幅或者要控制,则加入 if,然后调用{}里面的,只把图片改一下,还有大小位置等。放在背景 怎样放在按钮上? ///////////////////////////////////////////////////////////////////////////// // CIm4View drawing void CIm4View::OnDraw(CDC* pDC) { ::CoInitialize(NULL); // COM 初始化 HRESULT hr; CFile file; file.Open( "D:\\aa.jpg ", CFile::modeRead | CFile::shareDenyNone ); // 读入文件内容 文件路径 D:\\aa.jpg DWORD dwSize = file.GetLength(); HGLOBAL hMem = ::GlobalAlloc( GMEM_MOVEABLE, dwSize ); LPVOID lpBuf = ::GlobalLock( hMem ); file.ReadHuge( lpBuf, dwSize ); file.Close(); ::GlobalUnlock( hMem ); IStream * pStream = NULL; IPicture * pPicture = NULL; // 由 HGLOBAL 得到 IStream,参数 TRUE 表示释放 IStream 的同时,释放内存 hr = ::CreateStreamOnHGlobal( hMem, TRUE, &pStream ); ASSERT ( SUCCEEDED(hr) ); hr = ::OleLoadPicture( pStream, dwSize, TRUE, IID_IPicture, ( LPVOID * )&pPicture ); ASSERT(hr==S_OK); long nWidth,nHeight; // 宽高,MM_HIMETRIC 模式,单位是 0.01毫米 pPicture->get_Width( &nWidth ); // 宽 pPicture->get_Height( &nHeight ); // 高 /* ////////原大显示////// CSize sz( nWidth, nHeight ); pDC->HIMETRICtoDP( &sz ); // 转换 MM_HIMETRIC 模式单位为 MM_TEXT 像素单位 pPicture->Render(pDC->m_hDC,0,0,sz.cx,sz.cy,0,nHeight,nWidth,-nHeight,NULL); */ ////////按窗口尺寸显示//////// CRect rect; GetClientRect(&rect); pPicture->Render(pDC->m_hDC,0,0,rect.Width(),rect.Height(),0,nHeight,nWidth,-nHeight,NULL); if ( pPicture ) pPicture->Release();// 释放 IPicture 指针 if ( pStream ) pStream->Release(); // 释放 IStream 指针,同时释放了 hMem ::CoUninitialize(); } 关于IPicture::Render函数 1、IPicture::Render简介 HRESULT Render( HDC hdc, //Handle of device context on which to render the image long x, //Horizontal position of im...