在 MFC 中,CRect 类定义了 operator LPRECT 运算符重载,允许将 CRect 对象转换为指向 RECT 结构的指针。这使得 CRect 对象可以直接传递给期望接受 LPRECT 参数的函数。

以下是一个示例:
#include <afxwin.h>

void MyFunction(LPRECT rect)
{
    // 在这里使用 rect,它是一个指向 RECT 结构的指针
    TRACE(_T("Function: (%d, %d, %d, %d)\n"), rect->left, rect->top, rect->right, rect->bottom);
}

int main()
{
    CRect myRect(10, 20, 30, 40);

    // 使用 LPRECT 运算符获取指向 RECT 结构的指针
    MyFunction(myRect);

    return 0;
}

在这个示例中,MyFunction 函数接受一个 LPRECT 参数,而在调用时,直接将 CRect 对象传递给了这个函数。CRect 类的 operator LPRECT 运算符重载允许这种直接转换。这样,你可以更方便地在使用 CRect 对象的同时满足需要 LPRECT 参数的函数的需求。


转载请注明出处:http://www.pingtaimeng.com/article/detail/22079/MFC/CRect