zoukankan      html  css  js  c++  java
  • win32-使用FillRect绘制具有渐变颜色的客户区域背景

    void OnEraseBkGnd(HWND hwnd)
    {
        /* Vars */
        HDC dc; /* Standard Device Context; used to do the painting */
    
        /* rect = Client Rect of the window;
        Temp = Temparory rect tangle for the color bands */
        RECT rect, temp;
        HBRUSH color; /* A brush to do the painting with */
    
        /* Get the dc for the wnd */
        dc = GetDC(hwnd);
    
        /* Get the client rect */
        GetClientRect(hwnd, &rect);
    
        /* Start color; Change the R,G,B values
        to the color of your choice */
        int r1 = 255, g1 = 0, b1 = 0;
    
        /* End Color; Change the R,G,B values
        to the color of your choice */
        int r2 = 255, g2 = 255, b2 = 0;
    
        /* loop to create the gradient */
        for (int i = 0; i < rect.right; i++)
        {
            /* Color ref. for the gradient */
            int r, g, b;
            /* Determine the colors */
            r = r1 + (i * (r2 - r1) / rect.right);
            g = g1 + (i * (g2 - g1) / rect.right);
            b = b1 + (i * (b2 - b1) / rect.right);
    
            /* Fill in the rectangle information */
    
            /* The uper left point of the rectangle
            being painted; uses i as the starting point*/
            temp.left = i;
            /* Upeer Y cord. Always start at the top */
            temp.top = 0;
            /* Okay heres the key part,
            create a rectangle thats 1 pixel wide */
            temp.right = i + 1;
            /* Height of the rectangle */
            temp.bottom = rect.bottom;
    
            /* Create a brush to draw with;
            these colors are randomized */
            color = CreateSolidBrush(RGB(r, g, b));
    
            /* Finally fill in the rectangle */
            FillRect(dc, &temp, color);
        }
    }

    将OnEraseBkGnd()放到WM_ERASEBKGND事件中。

  • 相关阅读:
    手把手教你整Win10的Linux子系统(Ubuntu)
    Golang从入门到微服务
    GitHub总是打不开
    github无法push?看这篇文章就够了
    shell 操作mysql
    04 elasticsearch学习笔记-基本CRUD
    kibana-6.2.4-amd64的安装
    es 的reindex详解
    ruby 操作csv
    shell 去掉逗号_shell替换和去掉换行符
  • 原文地址:https://www.cnblogs.com/strive-sun/p/13098891.html
Copyright © 2011-2022 走看看