如何在win32中插入图片

具体过程我已经会了。但是代码和函数用些什么还是不知道。如何载入Bitmap?用什么函数?Win32里面如何获得该窗口的DC了?CDCpdc=GetDC();行么?最好能给... 具体过程我已经会了。但是代码和函数用些什么还是不知道。
如何载入Bitmap?用什么函数?
Win32里面如何获得该窗口的DC了?CDC pdc=GetDC();行么?
最好能给我段载入Bitmap和获得窗口DC的代码段,让我看看。。
菜鸟请教高手们!~
展开
 我来答
qiujiejia
推荐于2016-06-21 · TA获得超过500个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:249万
展开全部
你好,希望我的答复对你有帮助。

1.我做了个示例工程(VC6下编译通过),下载地址:http://sites.google.com/site/qiujiejia1/Home/Win32_Draw_Pic.zip

2.以下是工程里的部分代码,仅供参考

(1)添加全局变量: HBITMAP bitmap;
(2)在WM_CREATE里添加以bitmap加载代码

case WM_CREATE:
{
bitmap=(HBITMAP)LoadImage(NULL, //应用程序实例
"无上甚深微妙法.bmp", //路径
IMAGE_BITMAP,
0, //如果不置0,则此参数指定bitmap的宽(位图被拉伸)
0, //如果不置0,则此参数指定bitmap的高(位图被拉伸)
LR_LOADFROMFILE|LR_CREATEDIBSECTION|LR_DEFAULTSIZE);

}
break;

(3)在WM_PAINT 里添加绘图代码

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc= BeginPaint(hWnd, &ps);

HDC hMemDC=CreateCompatibleDC(hdc); //创建内存DC
::SelectObject(hMemDC,bitmap); //把位图选进内存DC
BitBlt(hdc,0,0,200,400,hMemDC,0,0,SRCCOPY); //内存DC映射到屏幕DC
::DeleteDC(hMemDC) ; //删除内存DC

EndPaint(hWnd, &ps);
}
break;

(4) 在WM_CLOSE里添加释放资源代码

case WM_CLOSE:
{
//不释放也可以(The system automatically deletes these resources when the process that created them terminates)
::DeleteObject(bitmap); //释放位图所占Memory,
DestroyWindow(hWnd); //既关闭按钮,可以在此时询问用户是否确定要关闭,再调用DestroyWindow关闭程序
}
break;
linguangdong
2009-09-01 · TA获得超过221个赞
知道答主
回答量:293
采纳率:0%
帮助的人:120万
展开全部
HBITMAP hbmp;
hbmp=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_...));
hdc=GetDC(hwnd);
HDC mem_dc;
mem_dc=CreateCompatibleDC(hdc);

SelectObject(mem_dc,hbmp);

StrechBlt(hdc,...mem_dc,...);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式