怎么传递POINT
刚玩火山几天,遇到WindowFromPoint函数传入POINT结构体参数问题,起初用易语言的方式硬传2个4字节整数,后来查火山64不适用,之后用火山的位置类(这个应该是POINT吧)不行,自建类也不行,再后查查才发觉位置类和自建类都是占32字节的,POINT只占8字节,最后用易语言的方式才解决了WindowFromPoint正常调用https://p.imgcoo.com/2025/11/20/11b3819463453.png 纯新手请问有没有更直接的方法WindowFromPoint这个函数比较非主流,因为它参数要求的不是结构体指针。
火山用这种方式调用函数,无论参数类型是“结构类”还是“本地结构”,传的都是结构体指针。
不过还是有个“本地值类型”类型可以用,但本地值类型反过来就不太兼容要求传结构指针的函数了。
<火山程序 类型 = "通常" 版本 = 1 />
类 POINT <公开 @别名类型 = 本地值类型 @别名 = "POINT">
{
变量 x <公开 类型 = 整数 @输出名 = "x">
变量 y <公开 类型 = 整数 @输出名 = "y">
#
}
这个方法比较简单,可以直接嵌入弄一下。
<火山程序 类型 = "通常" 版本 = 1 />
方法 GetWindowAtPoint <类型 = 变整数 @禁止流程检查 = 真>
参数 横坐标 <类型 = 整数>
参数 纵坐标 <类型 = 整数>
{
@ POINT pt = {@<横坐标>, @<纵坐标>};
@ return (INT_P)WindowFromPoint(pt);
}
页:
[1]