如何在win32中插入图片
具体过程我已经会了。但是代码和函数用些什么还是不知道。如何载入Bitmap?用什么函数?Win32里面如何获得该窗口的DC了?CDCpdc=GetDC();行么?最好能给...
具体过程我已经会了。但是代码和函数用些什么还是不知道。
如何载入Bitmap?用什么函数?
Win32里面如何获得该窗口的DC了?CDC pdc=GetDC();行么?
最好能给我段载入Bitmap和获得窗口DC的代码段,让我看看。。
菜鸟请教高手们!~ 展开
如何载入Bitmap?用什么函数?
Win32里面如何获得该窗口的DC了?CDC pdc=GetDC();行么?
最好能给我段载入Bitmap和获得窗口DC的代码段,让我看看。。
菜鸟请教高手们!~ 展开
2个回答
展开全部
你好,希望我的答复对你有帮助。
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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |