工控编程吧

标题: WINCC中如何使用C脚本更改画面对象的X,Y坐标?--- [打印本页]

作者: baikhgmv    时间: 2016-9-8 12:10
标题: WINCC中如何使用C脚本更改画面对象的X,Y坐标?---
本帖最后由 baikhgmv 于 2016-9-8 12:11 编辑

WINCC中如何使用C脚本更改画面对象的X,Y坐标?

在画面中做了一个圆,想通过C脚本更改这个圆的X坐标。代码如下:

-------------------------------------------------------------------------------------

long int top;


top = GetPropWord("C_GraTags.Pdl","圆1","Top");        //Return-Type: long int


printf("long int:\t\t%d\r\n",top);



top = top -1;


printf("long int:\t\t%d\r\n",top);


//SetTagWord("Obj_Left",lpos);        //Return-Type: BOOL


SetPropWord("C_ActMain.Pdl","圆1","Top",top-1);        //Return-Type: BOOL

-------------------------------------------------------------------------------

为什么TOP的值-1之后,不能写入圆的属性呢?是哪里出错了请大神指教。


----------top为-1那就是要跑到屏幕外面去了。你在属性的中直接设置坐标为负值可以吗?


-------你的意思是top=-1还是top=top-1减1之后的值写入属性?

C语言不熟,直接定义long型变量不就行了吗?



-------top应该是个通用的属性, 有专用的函数.

不过, 你现在读的时候读出来值了吗?


----------前两天,测试的时候 到TOP = TOP - 1那一步 得到了一个新的坐标,但是这个新值是给不出去的。也就

SetPropWord("C_ActMain.Pdl","圆1","Top",top-1);

这段执行有错误,请大神指点!


--如果关联一个变量的画 用C脚本是可以实现点击按钮移动的。但是C脚本里面的画面函数 属性的例子很不直观啊!~~


------另外1楼的,你怎么知道坐标不能为负的?别把这里搞成百度贴吧…


-------------楼主读和写的画面名称咋不一样呢?






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4