如何在Win32中创建POINT对象?

我试图PtInRect在 Win32 中使用该函数,它接受一个POINT对象。我有 x 和 y 坐标,但我不知道如何POINT从这些坐标中创建一个。我尝试查找它,但只能找到此文档,其中不包含我想要的信息。

感谢您的帮助。

回答

问题:

您正在为自己制造麻烦,因为您尝试POINT使用malloc. 顺便说一句,您并不总是需要动态分配并初始化malloc您在注释中指出的不需要使用的任何结构,您可以直接创建对象。

解决方案:

正如tkausl评论中所指出的,POINT以与任何其他结构相同的方式创建。

关于如何创建一个的一些例子POINT

int main()
{
    int someX = 100;
    int someY = 100;
    RECT testRect1 = {0,0,200,200};
    RECT testRect2 = {150,150,350,350};
    POINT p1{someX,someY};
    POINT p2 = {someX,someY};
    POINT p3;
    p3.x = someX;
    p3.y = someY;
    std::cout << (bool) PtInRect(&testRect1,p1) << std::endl;
    std::cout << (bool) PtInRect(&testRect1,p2) << std::endl;
    std::cout << (bool) PtInRect(&testRect1,p3) << std::endl;
    std::cout << (bool) PtInRect(&testRect1,{someX,someY}) << std::endl;
    std::cout << (bool) PtInRect(&testRect2,p1) << std::endl;
    std::cout << (bool) PtInRect(&testRect2,p2) << std::endl;
    std::cout << (bool) PtInRect(&testRect2,p3) << std::endl;
    std::cout << (bool) PtInRect(&testRect2,{someX,someY}) << std::endl;
}


以上是如何在Win32中创建POINT对象?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>