绘制图像

【勇芳软件工作室】汉化HomePreviousNext

以下函数绘制图像并保存图像边界矩形的客户端坐标。后续功能使用边界矩形来确定用户是否点击了图像。

// DrawTheImage - 透明地绘制图像并保存

//绘制图像的边界矩形

//如果成功返回TRUE,否则返回FALSE。

// hwnd - 绘制图像的窗口的句柄

// himl - 包含图像的图像列表的句柄

// cx和cy - 客户端坐标的左上角的图像

//

//全局变量和常量

// g_nImage - 要绘制的图像的索引

// g_rcImage - 图像的边界矩形

// CX_IMAGE和CY_IMAGE - 图像的宽度和高度

extern int g_nImage;

extern RECT g_rcImage;

#define CX_IMAGE 32

#define CY_IMAGE 32

BOOL DrawTheImage(HWND hwnd, HIMAGELIST himl, int cx, int cy)

{

HDC hdc;

if ((hdc = GetDC(hwnd)) == NULL)

return FALSE;

if(!ImageList_Draw(himl,g_nImage,hdc,cx,cy,ILD_TRANSPARENT))

return FALSE;

ReleaseDC(hwnd, hdc);

SetRect(&g_rcImage, cx, cy, CX_IMAGE + cx, CY_IMAGE + cy);

return TRUE;

}