我用photoshop做了程序的主界面,现在想把它加载到我用VC写的对话框程序界面上,请问高手如何实现。按钮加载图片的做法我会,但是如何在界面上加载是一样的吗?给代码高分,给方法送分,帮忙顶也有分。谢谢大家了。
解决方案 »
- 两个线程怎么同时访问同一个串口?
- 关于JPEG图像的剪切
- 新手问题:得分的机会又来啦!
- 怎样将矩形由相对表示到绝对表示
- SSL_do_handshake和SSL_accept在服务端有什么区别?
- 高分求助,分不够再加
- 寻求atl技术文章!或介绍一本好一点的书
- 請大家討論一下SDK与MFC的相對應的對象(部分),幫我這樣的人解惑!!!
- 一个拥有Edit框的ActivX控件(ATL编写的)嵌入到网页中后,在IE中控件的Edit框无法通过输入法得到并显示汉字。高分
- windows 中如何将一个字符串信息传递给另一个线程而不是一个指针
- 在Dialog控件中有个Edit 控件这个时候我想要用Onchar函数,不知道为什么,好像不能用,请大虾指点
- 装了Delphi后,VC的程序运行出错后,怎么改回VC调试啊?
HBITMAP hbitmapVideo;
hbitmapVideo=(HBITMAP)::LoadImage(NULL,D8Client->GetPath()+"IMAGES\\A\\1.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
m_bmpVideoBackground.Attach(hbitmap[0]); CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.SetBkColor(RGB(222,223,222));
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
BITMAP bitMap;
m_bmpBackground.GetBitmap(&bitMap);
CBitmap *pbmpOld=dcMem.SelectObject(&m_bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
dcMem.SelectObject(&m_bmpVideoBackground);
dc.StretchBlt(dian[0][0],dian[1][0],200,200,&dcMem,0,0,200,200,SRCCOPY);
CString strFilePathName="pic.bmp";
CFile file(strFilePathName,CFile::modeRead|CFile::shareDenyWrite);
CArchive ar(&file,CArchive::load|CArchive::bNoFlushOnDelete);
CArchiveStream stream(&ar);
HRESULT hr = OleLoadPicture((IStream*)&stream, 0, FALSE, IID_IPicture, (void **)&m_pPic);
file.Close();
//Display
CRect ShowRect;
CDC *pDC=GetDC();
GetClientRect(&ShowRect);
long lWidth,lHeight;
m_pPic->get_Width((OLE_XSIZE_HIMETRIC*)&lWidth);
m_pPic->get_Height((OLE_YSIZE_HIMETRIC*)&lHeight);
CDC tempDC;
tempDC.CreateCompatibleDC(pDC);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC,ShowRect.Width(),ShowRect.Height());
CBitmap *OldBmp=tempDC.SelectObject(&bmp);
m_pPic->Render(tempDC, 0, 0, ShowRect.Width(), ShowRect.Height(),
0, lHeight, lWidth, -lHeight, NULL);
m_pPic->Release();
pDC->BitBlt(ShowRect.left, ShowRect.top, ShowRect.Width(), ShowRect.Height(), &tempDC, 0, 0, SRCCOPY);
tempDC.SelectObject(OldBmp);
ReleaseDC(&tempDC);
bmp.DeleteObject();
ReleaseDC(pDC);
(变量声明:IPicture *m_pPic;
CString strFilePathName; )
然后:
CDC tempDC;
tempDC.CreateCompatibleDC(pDC);
CBitmap bmp;CBitmap *OldBmp=tempDC.SelectObject(&bmp);
加载和显示位图!
#include <afxctl.h>
#endif
#include <atlbase.h> CClientDC dc(this);
CPictureHolder hd;
HRESULT hr = ::OleLoadPicturePath(CComBSTR(PicPath),NULL,0,0,IID_IPicture,(LPVOID *)&hd.m_pPict);
hd.Render(&dc,CRect(0,0,128,128),CRect(0,0,128,128));
return CDialog::WindowProc(message, wParam, lParam);