1、新建MFC应用程序。
2、在应用程序中,选择基于对话框,其他保持默认即可。
3、右击项目,选择添加-资源。
4、在添加资源对话框中,点击导入,选择要作为背景的图片。
5、在工具箱找到Picture控件,托到界面中。
6、在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap。
7、再在Picture控件的属性的Type下拉框中插入的图片资源,选择好后,图片就可以加载进对话框了。
8、运行程序,看到背景已经变成你设置的图片。
你添加的这个不是bmp位图文件附加位图的时候,不能单单是把文件后缀改成.bmp
你可以用画图,或者其他看图工具,打开图片后另存为bmp格式
再插入的时候,就会变成位图附加到项目中了
附加了以后,图片的id会变成IDB_BITMAP1,你可以改成自己想要的名字
利用COM接口实现。 void DisplayImage(HDC hDC, LPCTSTR szImagePath) { HANDLE hFile=CreateFile(szImagePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)//从指定的路径szImagePath中读取文件句柄 DWORD dwFileSize=GetFileSize(hFile, NULL)//获得图片文件的大小,用来分配全局内存 HGLOBAL hImageMemory=GlobalAlloc(GMEM_MOVEABLE, dwFileSize)//给图片分配全局内存 void *pImageMemory=GlobalLock(hImageMemory)//锁定内存 DWORD dwReadedSize//保存实际读取的文件大小 ReadFile(hFile, pImageMemory, dwFileSize, &dwReadedSize, NULL)//读取图片到全局内存当中 GlobalUnlock(hImageMemory)//解锁内存 CloseHandle(hFile)//关闭文件句柄 IStream *pIStream//创建一个IStream接口指针,用来保存图片流 IPicture *pIPicture//创建一个IPicture接口指针,表示图片对象 CreateStreamOnHGlobal(hImageMemory, false, &pIStream) //用全局内存初使化IStream接口指针 OleLoadPicture(pIStream, 0, false, IID_IPicture, (LPVOID*)&(pIPicture))//用OleLoadPicture获得IPicture接口指针 //得到IPicture COM接口对象后,你就可以进行获得图片信息、显示图片等 *** 作 OLE_XSIZE_HIMETRIC hmWidthLE_YSIZE_HIMETRIC hmHeightpIPicture->get_Width(&hmWidth)//用接口方法获得图片的宽和高 pIPicture->get_Height(&hmHeight)pIPicture->Render(hDC,0,0,100,100,0,hmHeight,hmWidth,-hmHeight,NULL)//在指定的DC上绘出图片 GlobalFree(hImageMemory)//释放全局内存 pIStream->Release()//释放pIStream pIPicture->Release()//释放pIPicture }欢迎分享,转载请注明来源:内存溢出
评论列表(0条)