Win32加载图片到程序中
来源:互联网 发布:菜鸟侦探挑战数据分析 编辑:程序博客网 时间:2024/04/29 06:37
//.rc
pic BITMAP "pic.bmp"
pic BITMAP "pic.bmp"
//.cpp
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HBITMAP hBm;
BITMAP bm;
int iWindowWidth;
int iWindowHeight;
HDC hDC;
HDC hdcmem;
PAINTSTRUCT ps;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG Msg;
//用HBITMAP指向资源内的图片
hBm = LoadBitmap(hInstance,"pic");
//读取该图片到BITMAP结构体中
GetObject(hBm,sizeof(BITMAP),&bm);
//根据图片大小获取窗口大小
iWindowWidth = bm.bmWidth;
iWindowHeight = bm.bmHeight;
WNDCLASS wndclass;
char lpszClassName[]="窗口";
char lpszTitle[]="窗口示例程序";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if(! RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(lpszClassName,
lpszTitle,
WS_CAPTION |WS_SYSMENU ,
CW_USEDEFAULT,CW_USEDEFAULT,
iWindowWidth,iWindowHeight,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return (int)Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM
IParam)
{
switch(message)
{
case WM_CREATE:
//获取设备描述表
hDC = GetDC(hwnd);
//在内存中创建与hDC相同的设备描述表
hdcmem = CreateCompatibleDC(hDC);
//释放设备描述表
ReleaseDC(hwnd,hDC);
break;
case WM_PAINT:
hDC = BeginPaint(hwnd,&ps);
//选择用图片进行绘制
SelectObject(hdcmem,hBm);
//显示图片从hdcmem到hDC
BitBlt(hDC,0,0,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY);
EndPaint(hwnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,IParam);
}
return(0);
}
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HBITMAP hBm;
BITMAP bm;
int iWindowWidth;
int iWindowHeight;
HDC hDC;
HDC hdcmem;
PAINTSTRUCT ps;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG Msg;
//用HBITMAP指向资源内的图片
hBm = LoadBitmap(hInstance,"pic");
//读取该图片到BITMAP结构体中
GetObject(hBm,sizeof(BITMAP),&bm);
//根据图片大小获取窗口大小
iWindowWidth = bm.bmWidth;
iWindowHeight = bm.bmHeight;
WNDCLASS wndclass;
char lpszClassName[]="窗口";
char lpszTitle[]="窗口示例程序";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if(! RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(lpszClassName,
lpszTitle,
WS_CAPTION |WS_SYSMENU ,
CW_USEDEFAULT,CW_USEDEFAULT,
iWindowWidth,iWindowHeight,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return (int)Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM
IParam)
{
switch(message)
{
case WM_CREATE:
//获取设备描述表
hDC = GetDC(hwnd);
//在内存中创建与hDC相同的设备描述表
hdcmem = CreateCompatibleDC(hDC);
//释放设备描述表
ReleaseDC(hwnd,hDC);
break;
case WM_PAINT:
hDC = BeginPaint(hwnd,&ps);
//选择用图片进行绘制
SelectObject(hdcmem,hBm);
//显示图片从hdcmem到hDC
BitBlt(hDC,0,0,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY);
EndPaint(hwnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,IParam);
}
return(0);
}
- Win32加载图片到程序中
- win32加载图片、加载声音
- 加载上传图片,获取文件名、文件路径并保存到程序的文件夹中
- Android中加载网络图片到本地
- 缩放图片并加载到内存中
- android中加载本地图片到内存
- 缩放图片并加载到内存中
- 在win32程序中输出信息到console上
- 在win32程序中输出信息到console上
- 如何在程序中加载JPG图片?
- QT 程序中加载ICON的图片
- iPhone程序中图片延时加载
- iPhone程序中图片延时加载
- java中上传图片,加载上传的图片到页面
- 加载图片到内存
- 加载图片到D3D11Texture2D
- win32 DLL库加载失败之.def文件没设置输入到DLL中
- Win32程序加载与启动分析
- 关于卸载后从新安装WSS3配置出错问题
- 用位域枚举作将多个 Boolean 值存入数据库的同一个字段
- 利用SAX和XSLT转换Flat Files为XML格式
- 程序员接项目的四点技巧(有用就好)
- 智能之外,莫離人工
- Win32加载图片到程序中
- 小故事
- 非典型扫描线填充正方形的4-连通边界填充算法
- 什么是BNF范式
- 幸福的人儿不远行
- 谈函数指针(全局/类成员函数)和函数对象
- 打开汇编之门
- 在SQL Server 2000中insert的时候返回自动编号的id 存储过程示例[原]
- EJB3.0简介