外部加载资源来画图
来源:互联网 发布:mac的子弹头 编辑:程序博客网 时间:2024/05/29 18:42
//###################################
//http://www.cctry.com/ VC驿站
//>>>>>>歌帝圣尊 2010.12.13
//这一节讲解的是从外部加载资源来画图
//###################################
#include<windows.h>
//全局变量
TCHAR szWindowClass[] = "演示程序";
TCHAR szWindowTitle[] = "胡歌——李逍遥";
TCHAR szPicturePath[] = "Picture\\Pic00.bmp";
//窗口过程函数
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam , LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
static HBITMAP hbmp;
HDC hdcMem;
staticBITMAP bitmap;
switch(msg)
{
//WM_CREATE消息响应
case WM_CREATE:
{
hbmp = (HBITMAP)LoadImage
(
NULL,
szPicturePath,//加载图片名称或图片路径
IMAGE_BITMAP,//为BMP格式
0,
0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION
);
GetObject(hbmp, sizeof(BITMAP), &bitmap);
return 0;
}
//WM_DESTROY消息响应
case WM_DESTROY:
{
DeleteObject(hbmp);
PostQuitMessage(0);
return 0;
}
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
//创建兼容设备
hdcMem =CreateCompatibleDC(hdc);
//加载位图到兼容设备
SelectObject(hdcMem, hbmp);
//位块传输
BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
return 0;
}
//不关心的消息使用缺省处理
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE, LPTSTR lpCmdLine, int nCmdShow)
{
//填充窗口类
WNDCLASSEX wcex;
wcex.cbSize= sizeof(WNDCLASSEX);
wcex.style= CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc= (WNDPROC)WndProc;
wcex.cbClsExtra= 0;
wcex.cbWndExtra= 0;
wcex.hInstance= hInstance;
wcex.hIcon= NULL;
wcex.hCursor= LoadCursor(NULL,IDC_ARROW);
wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW +1);
wcex.lpszMenuName= NULL;
wcex.lpszClassName= szWindowClass;
wcex.hIconSm= NULL;
//注册窗口类
RegisterClassEx(&wcex);
//创建窗口
HWND hWnd = CreateWindowEx(
0,
szWindowClass,
szWindowTitle,
WS_OVERLAPPEDWINDOW^WS_MAXIMIZEBOX^WS_THICKFRAME,
CW_USEDEFAULT,
0,
512,
384,
HWND_DESKTOP,
NULL,
hInstance,
NULL);
//创建窗口失败
if(!hWnd)
return 0;
//显示并更新窗口
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
//设置消息循环
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 1;
}
//http://www.cctry.com/ VC驿站
//>>>>>>歌帝圣尊 2010.12.13
//这一节讲解的是从外部加载资源来画图
//###################################
#include<windows.h>
//全局变量
TCHAR szWindowClass[] = "演示程序";
TCHAR szWindowTitle[] = "胡歌——李逍遥";
TCHAR szPicturePath[] = "Picture\\Pic00.bmp";
//窗口过程函数
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam , LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
static HBITMAP hbmp;
HDC hdcMem;
staticBITMAP bitmap;
switch(msg)
{
//WM_CREATE消息响应
case WM_CREATE:
{
hbmp = (HBITMAP)LoadImage
(
NULL,
szPicturePath,//加载图片名称或图片路径
IMAGE_BITMAP,//为BMP格式
0,
0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION
);
GetObject(hbmp, sizeof(BITMAP), &bitmap);
return 0;
}
//WM_DESTROY消息响应
case WM_DESTROY:
{
DeleteObject(hbmp);
PostQuitMessage(0);
return 0;
}
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
//创建兼容设备
hdcMem =CreateCompatibleDC(hdc);
//加载位图到兼容设备
SelectObject(hdcMem, hbmp);
//位块传输
BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
return 0;
}
//不关心的消息使用缺省处理
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE, LPTSTR lpCmdLine, int nCmdShow)
{
//填充窗口类
WNDCLASSEX wcex;
wcex.cbSize= sizeof(WNDCLASSEX);
wcex.style= CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc= (WNDPROC)WndProc;
wcex.cbClsExtra= 0;
wcex.cbWndExtra= 0;
wcex.hInstance= hInstance;
wcex.hIcon= NULL;
wcex.hCursor= LoadCursor(NULL,IDC_ARROW);
wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW +1);
wcex.lpszMenuName= NULL;
wcex.lpszClassName= szWindowClass;
wcex.hIconSm= NULL;
//注册窗口类
RegisterClassEx(&wcex);
//创建窗口
HWND hWnd = CreateWindowEx(
0,
szWindowClass,
szWindowTitle,
WS_OVERLAPPEDWINDOW^WS_MAXIMIZEBOX^WS_THICKFRAME,
CW_USEDEFAULT,
0,
512,
384,
HWND_DESKTOP,
NULL,
hInstance,
NULL);
//创建窗口失败
if(!hWnd)
return 0;
//显示并更新窗口
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
//设置消息循环
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 1;
}
- 外部加载资源来画图
- Unity3D加载外部资源
- spring加载外部资源
- 加载外部资源
- AS3 加载外部SWF资源
- spark加载外部资源方式
- AS3加载图片等外部资源
- Unity 3D--外部加载资源AssetBundles
- Spring攻略笔记-5 加载外部资源
- unity基础开发----外部加载资源AssetBundles
- Unity 3D--外部加载资源AssetBundles
- Unity 3D--外部加载资源AssetBundles
- Unity 3D加载外部资源
- Unity 3D--外部加载资源AssetBundles
- spring笔记——加载外部资源
- 加载硬编码外部资源文件
- Unity资源路径及加载外部资源介绍
- Unity资源路径及加载外部资源介绍
- emca配置oracle 10g的em
- HDU 4357 String change
- 实践:使用 Apache Hadoop 处理日志使用典型 Linux 系统上的 Hadoop 从日志中提取有用数据
- java.lang.ClassCastException
- JAVA方法的参数类型后添加三点的用法
- 外部加载资源来画图
- Java IO 的一般使用原则
- 自己写的trim函数
- eclipse基于socket通讯某报错原因的解决方法
- HDU 4351 Digital root 线段树
- Openssl证书格式,以及转换
- C++中数组怎么使用
- 指尖上的代码[C语言版]-<5>
- ASP.NET AJAX