win32 API 图片、音乐的加入代码
2010-12-21 20:05
387 查看
加入音乐:
静态库:#pragma comment(lib,"winmm.lib") //Windows multimedia library
playsound("1.wav",NULL,SND_FILENAME | SND_ASYNC);
取得窗口句柄
hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;
加入图片:
但必须是位图,即BMP格式
static HBITMAP hBitmap1,hOldBitmap;//申请图片句柄
static BITMAP bmpinfo;//用于获取BMP图象的信息,如长,宽等
static int cxBitmap,cyBitmap;//用来表示加入图片的长,宽
static HDC hdcBackBuffer;//申请资源空间,也可以说是缓冲区
hBitmap1
=
(HBITMAP)LoadImage(hInstance,"white.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); //
把white.BMP图片加入,且句柄为hBitmap1,在其它地方使用时这个句柄就代表了这个图片
hdcBackBuffer =
CreateCompatibleDC (NULL)
;//申请缓冲
区
GetObject (hBitmap1, sizeof (BITMAP), &bmpinfo)
;//取得所加入图片的信息,信息存放到bmpinfo指针中
cxBitmap = bmpinfo.bmWidth ;//通过bmpinfo取得图片的宽度和高度
cyBitmap = bmpinfo.bmHeight ;
hOldBitmap=(HBITMAP)SelectObject(hdcBackBuffer,hBitmap1);//把图片放入已申请的缓冲区中,在后面可利用缓冲区中的信息直接画出就可
StretchBlt
(hdc,x1,y1,a1,b1,hdcBackBuffer,0,0,cxBitmap,cyBitmap,SRCCOPY);//其中x1,y1为
图片放到窗口中的位置,a1,b1指放入图片的宽度和高度,hdcBackBuffer为图片缓冲区句柄,即图片。后面四个参数是原图片的位置,宽度,高
度,SRCCOPY将源矩形区域直接拷贝到目标矩形区域
常用信息
case WM_SIZE: /可通过cxClient,cyClient转换为绘图中的参数,则最大化,最小化时显示的图不会消失。
{
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam);
}
return 0;
case WM_COMMAND://接收菜单信息
switch(LOWORD(wParam))
case WM_KEYDOWN://接收键盘按键信息
switch(wParam)
{
case ....
}
鼠标值存放位置
MouseX = LOWORD(lParam);//存取鼠标横,纵坐标
MouseY = HIWORD(lParam);
静态库:#pragma comment(lib,"winmm.lib") //Windows multimedia library
playsound("1.wav",NULL,SND_FILENAME | SND_ASYNC);
取得窗口句柄
hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;
加入图片:
但必须是位图,即BMP格式
static HBITMAP hBitmap1,hOldBitmap;//申请图片句柄
static BITMAP bmpinfo;//用于获取BMP图象的信息,如长,宽等
static int cxBitmap,cyBitmap;//用来表示加入图片的长,宽
static HDC hdcBackBuffer;//申请资源空间,也可以说是缓冲区
hBitmap1
=
(HBITMAP)LoadImage(hInstance,"white.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); //
把white.BMP图片加入,且句柄为hBitmap1,在其它地方使用时这个句柄就代表了这个图片
hdcBackBuffer =
CreateCompatibleDC (NULL)
;//申请缓冲
区
GetObject (hBitmap1, sizeof (BITMAP), &bmpinfo)
;//取得所加入图片的信息,信息存放到bmpinfo指针中
cxBitmap = bmpinfo.bmWidth ;//通过bmpinfo取得图片的宽度和高度
cyBitmap = bmpinfo.bmHeight ;
hOldBitmap=(HBITMAP)SelectObject(hdcBackBuffer,hBitmap1);//把图片放入已申请的缓冲区中,在后面可利用缓冲区中的信息直接画出就可
StretchBlt
(hdc,x1,y1,a1,b1,hdcBackBuffer,0,0,cxBitmap,cyBitmap,SRCCOPY);//其中x1,y1为
图片放到窗口中的位置,a1,b1指放入图片的宽度和高度,hdcBackBuffer为图片缓冲区句柄,即图片。后面四个参数是原图片的位置,宽度,高
度,SRCCOPY将源矩形区域直接拷贝到目标矩形区域
常用信息
case WM_SIZE: /可通过cxClient,cyClient转换为绘图中的参数,则最大化,最小化时显示的图不会消失。
{
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam);
}
return 0;
case WM_COMMAND://接收菜单信息
switch(LOWORD(wParam))
case WM_KEYDOWN://接收键盘按键信息
switch(wParam)
{
case ....
}
鼠标值存放位置
MouseX = LOWORD(lParam);//存取鼠标横,纵坐标
MouseY = HIWORD(lParam);
相关文章推荐
- win32 API 图片、音乐的加入代码
- C#剪切板编程操作图片、音乐、txt==文件(神样的代码,找了好久)
- MFC用代码加入对话框背景图片和button图片
- API显示BMP图片ASM代码
- 新浪微博API中返回的中文表情转成相应图片的PHP代码
- eoLinker-API_Shop_开发工具类API调用的代码示例合集:六位图片验证码生成等
- Octopress在页面和内容中加入代码、图片、带标题图片方法
- win32 office api图片大小和PIL获取图片大小的不一致性
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析
- 一个Win32 API实例类(代码收集)
- Azure 认知服务 (5) 计算机视觉API - 使用C#代码实现读取图片中的文字(OCR)功能
- android获取音乐文件的内置专辑图片实现思路及代码
- 【翻译】MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API
- 案例37-后台商品添加的代码实现加入图片上传
- Win32环境下代码注入与API钩子的实现(转)
- eoLinker-API_Shop_验证码识别API调用的代码示例合集:四位图片验证码生成等
- Win32环境下代码注入与API钩子的实现
- 微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
- MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API
- 在blog中加入音乐代码