如何用VC++6.0在窗口里显示一个位图?请高手指点
3个回答
展开全部
在vc++中如何实现显示一个位图
基本步骤如下:
1.打开vc++6.0,选择“文件”->“新建",打开新建对话框,选择“工程”->MFC AppWizard [exe]->选择保存路径及文件名ddd,选择单文档->完成。
2.打开窗口左下角选择Re..,在Dialog上右击,选择插入->Bitmap->引入->引入位图。
3.选择Cl..,展开CDdddView->OnDraw,双击OnDraw,进入编程界面。
void CDddView::OnDraw(CDC* pDC)
{
CDddDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//将位图装入内存
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);//创建内存设备环境
CBitmap*OldBitmap=MemDC.SelectObject(&bitmap);
BITMAP bm; //创建BITMAP结构变量
bitmap.GetBitmap(&bm);//获取位图信息
pDC->BitBlt (10,10,bm.bmWidth,bm.bmHergh,&MemDC,0,0,SRCCOPY);//显示位图
pDC->SelectObject(OldBitmap); //恢复设备环境
}
基本步骤如下:
1.打开vc++6.0,选择“文件”->“新建",打开新建对话框,选择“工程”->MFC AppWizard [exe]->选择保存路径及文件名ddd,选择单文档->完成。
2.打开窗口左下角选择Re..,在Dialog上右击,选择插入->Bitmap->引入->引入位图。
3.选择Cl..,展开CDdddView->OnDraw,双击OnDraw,进入编程界面。
void CDddView::OnDraw(CDC* pDC)
{
CDddDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//将位图装入内存
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);//创建内存设备环境
CBitmap*OldBitmap=MemDC.SelectObject(&bitmap);
BITMAP bm; //创建BITMAP结构变量
bitmap.GetBitmap(&bm);//获取位图信息
pDC->BitBlt (10,10,bm.bmWidth,bm.bmHergh,&MemDC,0,0,SRCCOPY);//显示位图
pDC->SelectObject(OldBitmap); //恢复设备环境
}
展开全部
在vc++中如何实现显示一个位图
基本步骤如下:
1.打开vc++6.0,选择“文件”->“新建",打开新建对话框,选择“工程”->MFC
AppWizard
[exe]->选择保存路径及文件名ddd,选择单文档->完成。
2.打开窗口左下角选择Re..,在Dialog上右击,选择插入->Bitmap->引入->引入位图
基本步骤如下:
1.打开vc++6.0,选择“文件”->“新建",打开新建对话框,选择“工程”->MFC
AppWizard
[exe]->选择保存路径及文件名ddd,选择单文档->完成。
2.打开窗口左下角选择Re..,在Dialog上右击,选择插入->Bitmap->引入->引入位图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HBITMAP hBmp = LoadBitmap(...);
RECT rcWnd;
GetClientRect(&rcWnd);
HDC hDC = GetDC();
HDC hMemDC = CreateCompatibleDC(hDC);
HBITMAP hOldBmp = SelectObject(hMemDC,hBmp);
BitBlt(hDC,0,0,hMemDC,0,0,rcWnd.right - rcWnd.left,rcWnd.bottom - rcWnd.top,SRCCOPY);
SelectObject(hMemDC,hOldBmp);
DeleteDC(hMemDC);
RECT rcWnd;
GetClientRect(&rcWnd);
HDC hDC = GetDC();
HDC hMemDC = CreateCompatibleDC(hDC);
HBITMAP hOldBmp = SelectObject(hMemDC,hBmp);
BitBlt(hDC,0,0,hMemDC,0,0,rcWnd.right - rcWnd.left,rcWnd.bottom - rcWnd.top,SRCCOPY);
SelectObject(hMemDC,hOldBmp);
DeleteDC(hMemDC);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询