在SDI程序中,想显示一个位图,代码如下:
void CBitDemoView::OnDraw(CDC* pDC)
{
CBitDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
CDC dcComp;
dcComp.CreateCompatibleDC(pDC);
BITMAP bmpInfo;
bmp.GetObject(sizeof(bmpInfo),&bmpInfo);
CBitmap *pbmpOld;
pbmpOld=pDC->SelectObject(&bmp);
pDC->BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&dcComp,0,0,SRCCOPY);
pDC->SelectObject(pbmpOld);
}可是却无任何显示,这是为什么呢????????????
void CBitDemoView::OnDraw(CDC* pDC)
{
CBitDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
CDC dcComp;
dcComp.CreateCompatibleDC(pDC);
BITMAP bmpInfo;
bmp.GetObject(sizeof(bmpInfo),&bmpInfo);
CBitmap *pbmpOld;
pbmpOld=pDC->SelectObject(&bmp);
pDC->BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&dcComp,0,0,SRCCOPY);
pDC->SelectObject(pbmpOld);
}可是却无任何显示,这是为什么呢????????????
解决方案 »
- Internal error(20014) Assertion failed: file_name && fmt && og_handle, file .\sy
- 怎么把窗口界面怎么能写到DLL文件里面
- 服务器端没有办法进入OnClose函数?
- 如何改变 应用程序的默认字体?谢了先
- 中英文混合字符串换行后如何左对齐?
- 请问在微软网站上怎样下载MSDN for VS6?
- 为什么调用CListbox的ResetContent函数后,Listbox变灰
- 请问如何通过代理服务器发送接受UDP包啊~~~谢谢!
- 拜托!.wba是个什么文件类型?用什么能打开 ?
- 如何在程序中实现。。。。急
- 如何取得picture控件在对话框中的坐标位置? 在线等,急!!!
- 一个BYTE怎么可以等于CByteArray+CByteArray+BYTE的呢?
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,-200,-200,SRCCOPY);//将内存场景的图象拷贝到屏幕上
memDC.SelectObject (oldbitmap);
pbmpOld=pDC->SelectObject(&bmp);应该改成:
pbmpOld=dcComp.SelectObject(&bmp);
pDC->BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&dcComp,0,0,SRCCOPY);
pDC->SelectObject(pbmpOld);
============================>
pbmpOld=dcComp.SelectObject(&bmp);
pDC->BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&dcComp,0,0,SRCCOPY);
dcComp.SelectObject(pbmpOld);