• RECT矩形


    矩形结构的原型:

    1 typedef struct tagRECT
    2 {
    3     LONG    left;
    4     LONG    top;
    5     LONG    right;
    6     LONG    bottom;
    7 } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
    RECT定义

    设置RECT变量的三种方法:

    1、

    RECT rect = {100,100, 300,200};

    2、注意这里的坐标系统,并不是左右配对,上下配对。

    RECT rect;
    
    rect.left = 100;
    rect.top = 100;
    rect.right = 200;
    rect.bottom = 200;

    3、掉用SetRect函数:

    SetRect(
        _Out_ LPRECT lprc,
        _In_ int xLeft,
        _In_ int yTop,
        _In_ int xRight,
        _In_ int yBottom);
    SetRect定义

     FillRect函数:通过掉用RECT类型变量和一个画刷句柄画出一个矩形。

    FillRect(
        _In_ HDC hDC,
        _In_ CONST RECT *lprc,
        _In_ HBRUSH hbr);
    FillRect定义

    InvertRect函数:颜色反转,将矩形的颜色反转

    InvertRect(
        _In_ HDC hDC,
        _In_ CONST RECT *lprc);
    InvertRect定义

    InflateRect函数:放大和缩小矩形,当x与y轴为正的时候是放大,当x写y轴为负的时候为缩小

    InflateRect(
        _Inout_ LPRECT lprc,
        _In_ int dx,
        _In_ int dy);
    InflateRect定义

     OffsetRect函数:偏移矩形,注意该函数一定要在FillRect和FrameRect函数前使用否则无效。

    OffsetRect(
        _Inout_ LPRECT lprc,
        _In_ int dx,
        _In_ int dy);
    OffsetRect定义

    FrameRect函数:画矩形边框,也必须要一个RECT变量和画刷句柄。

    FrameRect(
        _In_ HDC hDC,
        _In_ CONST RECT *lprc,
        _In_ HBRUSH hbr);
    FrameRect定义

    CopyRect函数:将第二个RECT类型的变量拷贝到第一个RECT变量中

    CopyRect(
        _Out_ LPRECT lprcDst,
        _In_ CONST RECT *lprcSrc);
    CopyRect定义

     IntersectRect函数:取得两个矩形中间相交的矩形

    IntersectRect(
        _Out_ LPRECT lprcDst,
        _In_ CONST RECT *lprcSrc1,
        _In_ CONST RECT *lprcSrc2);
    IntersectRect定义

    IntersectRect(&rect3, &rect1, &rect2);

    UnionRect函数:合并两个矩形

    UnionRect(
        _Out_ LPRECT lprcDst,
        _In_ CONST RECT *lprcSrc1,
        _In_ CONST RECT *lprcSrc2);
    UnionRect定义

     UnionRect(&rect3,&rect,&rect2);  通过rect1和rect2得到rect3

    SetRectEmpty函数:将矩形lpRect设为一个空矩形(所有字段都为空)

    1 SetRectEmpty(
    2     _Out_ LPRECT lprc);
    SetRectEmpty定义

    IsRectEmpty函数:判断一个矩形是否为空

    IsRectEmpty(
        _In_ CONST RECT *lprc);
    IsRectEmpty定义

    FillRect函数:判断鼠标是否在矩形中

    PtInRect(
        _In_ CONST RECT *lprc,
        _In_ POINT pt);
    PtInRect定义

    实例

    RECT rect = {0,0, 100,100};
    
    case WM_LBUTTONDOWN:
            POINT apt;
            apt.x = LOWORD(lParam);
            apt.y = HIWORD(lParam);
    
            if(PtInRect(&rect, apt))
            {
                MessageBox(hWnd, TEXT("在矩形上!"), TEXT("消息"), MB_OK);
            }
            else
            {
                MessageBox(hWnd, TEXT("不在矩形上!"), TEXT("消息"), MB_OK);
            }
            break;
  • 相关阅读:
    欧拉函数模板
    Django Views Decorator
    Anaconda3 安装报错 bunzip2: command not found
    Windows 错误 0x80070570
    GitHub报错error: bad signature
    failed to push some refs to 'git@github.com:RocsSun/mytest.git
    更新GitHub的仓库
    Git连接GitHub
    Git的初始化设置
    Git的选项参数
  • 原文地址:https://www.cnblogs.com/2016Study/p/5430517.html
Copyright © 2020-2023  润新知