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事件中。

  • 相关阅读:
    uva11235 FrequentValues (ST表)
    hdu5449 Robot Dog (树形dp+倍增lca)
    [BZOJ1637][Usaco2007 Mar]Balanced Lineup
    [BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理
    Luogu1119灾后重建
    [APIO2012]派遣
    [HNOI2004]宠物收养场
    [USACO14DEC] 驮运Piggy Back
    [USACO14JAN]滑雪等级Ski Course Rating
    [CODEVS3366] 矿石
  • 原文地址:https://www.cnblogs.com/strive-sun/p/13098891.html
Copyright © 2011-2022 走看看