win32 API 图片、音乐的加入代码

 加入音乐:
 
静态库:#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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值