Student_2017 2017-05-19 07:19 采纳率: 100%
浏览 773
已结题

WIN32 帮忙逐句解释程序,谢谢

#include "stdafx.h"
#include "resource.h"

HINSTANCE g_hInst = NULL;

//变量的定义
HBITMAP g_hBmpMine = NULL; //雷的图片
HBITMAP g_hBmpNumber = NULL; //数字的图片
HBITMAP g_hBmpFace = NULL; //脸的图片

DWORD g_nMineBmp[10][10] = { 0 }; //

DWORD g_nMineFlag[10][10] = { 1 };

//create函数的调用
void OnCreate( HWND hWnd )
{
g_hBmpMine = LoadBitmap( g_hInst, //加载资源,返回句柄 HBITMAP
MAKEINTRESOURCE(IDB_MINE) );
g_hBmpNumber = LoadBitmap( g_hInst,
MAKEINTRESOURCE(IDB_NUMBER) );
g_hBmpFace = LoadBitmap( g_hInst,
MAKEINTRESOURCE(IDB_FACE) );
}

void DrawMine( HDC hDC )
{
HDC hBmpDC = CreateCompatibleDC( hDC );
HBITMAP hOldBmp = (HBITMAP)
SelectObject( hBmpDC, g_hBmpMine );

for( DWORD nX=0; nX<10; nX++ )
{
    for( DWORD nY=0; nY<10; nY++ )
    {
        int nSrxX = 0;//g_nMineBmp[nX][nY];
        int nSrxY = g_nMineBmp[nX][nY] * 16;

        BitBlt( hDC, nX * 16, nY * 16, 
            16, 16, hBmpDC, nSrxX,nSrxY, SRCCOPY ); //nSrxX/Y资源的图
    }
}

SelectObject( hBmpDC, hOldBmp );
DeleteDC( hBmpDC ); //DeleteDC

}

void OnPaint( HWND hWnd ) //BeginPaint EndPaint
{
PAINTSTRUCT ps = { 0 };
HDC hDC = BeginPaint( hWnd, &ps );
//绘制边框
//绘制信息区
//绘制雷区
DrawMine( hDC );

EndPaint( hWnd, &ps ); //&ps返回ps指针

}

  • 写回答

3条回答

  • devmiao 2017-05-19 17:08
    关注

    雇个私人家教,手把手教你吧。

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制