visual c++ 中贴多个图

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:47:05
做一个简单的打字游戏,但是我的代码只能在背景上贴一个图片,实际中的字母是很多个一起掉下来的,如何能实现多个字母随机掉下来呢
我的代码如下

#include<windows.h>
#include<tchar.h>
#include "resource.h"
//窗口类名和窗口标题
TCHAR szWindowClass[]=_T("演示程序");
TCHAR szWindowTitle[]=_T("主窗口标题");
//窗口过程函数

int x=200;
int y=0;
HDC hdc,dc,dc1;

void InitGame(HWND hWnd)
{
hdc = GetDC(hWnd);
HBITMAP hBitMap;
HBITMAP hBitMap1;
hBitMap = (HBITMAP)LoadImage(NULL,"背景.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hBitMap1 = (HBITMAP)LoadImage(NULL,"人.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
dc=CreateCompatibleDC(hdc);
dc1=CreateCompatibleDC(hdc);
SelectObject(dc,hBitMap);
SelectObject(dc1,hBitMap1);
}
void DrawImage(HWND hWnd)
{
BitBlt(hdc,0,0,512,480,dc,0,0,SRCCOPY);
TransparentBlt(hdc,x,y,22,42,dc1,0,0,22,42,RGB(255,255,255));
}
void QuitGame(HWND hWnd)

用函数
BOOL BitBlt(
HDC hdcDest,
int nXDest, int nYDest,
int nWidth, int nHeight,
HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop);
就可以

nXDest, nYDest, 是贴上去以后,图的左上角座标
nWidth, nHeight,是贴上去以后,图的宽度和高度

在你绘图区里,你自己可以按排各张图贴上去以后显示的位置和大小,BitBlt按你的要求缩放原图,按你给的左上角座标放置图片。