GDI-OffsetClipRgn移动剪辑区域

发布时间 2023-05-16 18:04:15作者: 天子骄龙

 

    
    HRGN hrgn1 = CreateRectRgn(10, 10, 200, 200);//创建矩形区域
    HDC hdc = ::GetDC(m_hWnd);
    int n = SelectClipRgn(hdc, hrgn1);//选择剪切区域
        
    int n1=::OffsetClipRgn(hdc, 50, 0);  //移动剪辑区域
    /*
    参数1:HDC hdc  设备环境句柄
    参数2:int  要向左或向右移动的逻辑单元数
    参数3:int  要向上或向下移动的逻辑单元数
    
    返回值:该返回值表明了新的剪切区域的复杂度,它可是如下几种形式:
            NULLREGION:区域为空;
            SIMPIEREGION:区域是单个矩形
            COMPLEXREGION:区域为多个矩形;
            ERROR:发生错误
    注释:矩形的底边和右边并不排除在剪切区域之外
    */

    HRGN hrgn = CreateRectRgn(10, 10, 400, 400);//创建矩形区域
    HBRUSH hbr = CreateSolidBrush(RGB(0, 0, 255));    //单色的画刷
    FillRgn(hdc, hrgn, hbr); //用画刷填充区域

    
    ::ReleaseDC(m_hWnd, hdc);