如何在窗口的客户区域中显示一张图片? RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是有一张JPG或者BMP格式的图片文件,我需要在程序运行时导入这张图片并将其显示在程序窗口的客户区域中 如果是bitmap就先CreateBitmap,然后响应pdc-〉bitblt显示就行了;如果是JPG就要复杂点,去下个打开JPG文件的库,用google搜索很容易找到,然后调用库里面的函数显示。 CRect rect; GetWindowRect(&rect); CDC memDC; CBitmap cBitmap; CBitmap* pOldMemBmp = NULL; //将背景位图加到设备场景中 cBitmap.LoadBitmap(IDB_BACK); memDC.CreateCompatibleDC(pDC); pOldMemBmp = memDC.SelectObject(&cBitmap); //将背景位图显示出来 pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY); if (pOldMemBmp) memDC.SelectObject( pOldMemBmp ); JPG文件可以先转为BMP格式,再和其一样处理,方法很简单,用画图打开JPG文件,再另存就行!!!用pDC->StretchBlt(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top, &memDC,0,0,cBitmap.bmWidth,cBitmap.bmHeight,SRCCOPY);可以改变位图大小显示 CDC memDC;//内存设备场景 CBitmap cb;//位图类对象 CRect rect; GetWindowRect(&rect); cb.LoadBitmap (IDB_BITMAP1);//载入资源 memDC.CreateCompatibleDC (pDC);//创建内存设备上下文 CBitmap *oldbitmap=NULL; oldbitmap=memDC.SelectObject (&cb);//将位图选入当前设备场景 pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//将内存场景的图象拷贝到屏幕上 memDC.SelectObject (oldbitmap); anbull(桉)师兄,如果bmp图象已在系统磁盘的内存里,难道还要调用CBitmap类的成员函数CreateBitmap()吗?wangyuanwai(王员外)及SurStar(断水流)师兄,对于不能引入资源且又想通过bitmap.loadbitmap(要打开的位图文件名(在系统磁盘的任意地方,你只知路径,并不知详细内存地址)),如何编程实现显示操作? 可以 用OLE IPicture 接口 设为Multipe的listbox 怎么用不了SetCurSel()? MFC非模态对话框嵌入桌面 贴图双缓冲问题,求解! 完成端口中服务端只能用WSASend和WSARecv吗? 请问如何将控件与数组对应?控件的成员变量不能是数组元素吗? 问题再问!!!!!!高手请进!!! 不能把两个消息的处理定义给同一个函数吗? 如何将vc程序打包生成setup文件 CDC::GetClipBox()是做什么用的? C语言 random和time的实现 数据查找 请教VC数据库编程方面的高手。急!在线等 如何获得文件地址,如何创建一个文件(散列文件),通过连接地址组成
GetWindowRect(&rect); CDC memDC;
CBitmap cBitmap;
CBitmap* pOldMemBmp = NULL; //将背景位图加到设备场景中
cBitmap.LoadBitmap(IDB_BACK);
memDC.CreateCompatibleDC(pDC);
pOldMemBmp = memDC.SelectObject(&cBitmap); //将背景位图显示出来
pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);
if (pOldMemBmp) memDC.SelectObject( pOldMemBmp );
用pDC->StretchBlt(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,
&memDC,0,0,cBitmap.bmWidth,cBitmap.bmHeight,SRCCOPY);
可以改变位图大小显示
CBitmap cb;//位图类对象
CRect rect;
GetWindowRect(&rect);
cb.LoadBitmap (IDB_BITMAP1);//载入资源
memDC.CreateCompatibleDC (pDC);//创建内存设备上下文
CBitmap *oldbitmap=NULL;
oldbitmap=memDC.SelectObject (&cb);//将位图选入当前设备场景
pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//将内存场景的图象拷贝到屏幕上
memDC.SelectObject (oldbitmap);
wangyuanwai(王员外)及SurStar(断水流)师兄,对于不能引入资源且又想通过bitmap.loadbitmap(要打开的位图文件名(在系统磁盘的任意地方,你只知路径,并不知详细内存地址)),如何编程实现显示操作?