• els 方块显示原理


    #include"els_h.h"
    //背景数组
    int g_arrBackGroud[20][10] = {0};


    void OnPaint(HDC hDc)
    {
        //创建兼容性DC。
        HDC hMemDC = CreateCompatibleDC(hDc);//内存id为:HMemDc,窗口id hDc。

        //创建兼容性位图。
        HBITMAP hBitmapBack= CreateCompatibleBitmap(hDc, 500, 600);

        //关联起来。
        SelectObject(hMemDC, hBitmapBack);

        PaintSqare(hMemDC);
        
        //传递:
        //返回值:失败返回0,成功返回非零。
        //参数1:目标DC,窗口DC
        //参数2,3:目标的起始位置,注意是基于我们的窗口。
        //参数4,5:区域的大小。
        //参数6:源DC,也就是我们的内存DC。
        //参数7,8:内存图片的起始位置。
        //参数9:传递方式。
        //
        BitBlt(hDc, 0, 0, 300, 600, hMemDC, 0, 0, SRCCOPY);

        //释放DC
        DeleteObject(hBitmapBack);
        DeleteDC(hMemDC);
        
    }
    void Oncreate()
    {

    }
    void PaintSqare(HDC hMemDC)
    {
        int i = 0,
            j = 0;

        //画大方块。
        Rectangle(hMemDC, 0, 0, 300, 600);//矩形框距离运行窗口的开始位置坐标和截至位置坐标。
        
        //指定一个方块。测试。
        g_arrBackGroud[2][4] = 1;
        g_arrBackGroud[3][3] = 1;
        g_arrBackGroud[3][4] = 1;
        g_arrBackGroud[3][5] = 1;

        //遍历
        for (i =0; i < 20; i++)
        {
            for (j=0 ; j < 10; j++)
            {
                if (1 == g_arrBackGroud[i][j])
                {
                    //画方块。
                    Rectangle(hMemDC, j*30, i*30, j * 30+30, i * 30+30);//矩形框距离运行窗口的开始位置坐标和截至位置坐标。

                }
            }
        }
    }

  • 相关阅读:
    【frp】cron定时检查zfrpc.service是否启动成功
    双向循环链表-头插法-尾插法
    前端如何使用微信支付
    【MySQL数据库】(二)SQL
    基于51单片机简易电子琴设计
    Unity如何实现TreeView
    Android 9.0 蓝牙功能之一:蓝牙音乐
    算法竞赛Java数据结构与算法类详解
    【Python零基础入门篇 · 29】:可迭代对象和迭代器对象
    虚拟摄像头之四: 谁在调用 v4l2_camera_HAL 摄像头驱动
  • 原文地址:https://blog.csdn.net/qq_52119661/article/details/125988508