int left;
int top;
BOOL Bool=TRUE;
left=GetLeft(lpszPictureName,lpszObjectName);
top=GetTop(lpszPictureName,lpszObjectName);
SetLeft(lpszPictureName,"valve",550);
SetTop(lpszPictureName,"valve",80);
SetPictureName(lpszPictureName,"valve","CTD-V1.PDL");
PDLRTSetPropEx(0,lpszPictureName,"valve","Visible",VT_BOOL,&Bool,NULL,NULL,0,NULL,NULL);
这是弹出窗口的C脚本,不明白最后一句是什么意思?PDLRTSetPropEx(0,lpszPictureName,"valve","Visible",VT_BOOL,&Bool,NULL,NULL,0,NULL,NULL);
问题补充:
我自己试了一下,不写最后一句也是可以运行的。我想知道哪里有关于这些ODK函数的资料,怎么去使用它。谢谢!
对了,还有一个问题,就是鼠标动作,是不是点击左键和右键都可以,但是为什么我只有在点击左键的时候才动作了,右键不管用了?
最佳答案
PDLRTSetPropEx之前的代码你已经知道了,就是设置弹出窗口valve的偏移位置和画面名称。设置完了以后就需要将它显示出来,PDLRTSetPropEx就是用来干这个的。
PDLRTSetPropEx是ODK里面的函数,用于在线给画面的控件属性设置值。其实跟SetPropBOOL(lpszPictureName,,"valve","Visible",TRUE);执行效果是一样的。
补充1:不写最后一句能运行可能是因为画面窗口已经显示了。
补充2:ODK有一个软件包,内含说明文件,还有一些示例。WinCC ODK其实是WinCC的API函数,主要给第三方软件(C/C++)提供访问WinCC的接口。而WinCC用自带的标准函数及内部函数就已经够用了。
补充3:如果想左右键都起作用,可以将代码放到“鼠标动作”中,而不是“按左键”或”按右键“。
补充4:关于“鼠标动作”我后来试了一下,的确只有左键才起作用,抱歉啊。
提问者对于答案的评价:
谢谢两位的热心回答,我也从网上下载到了ODK函数的手册了,谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277180.html