QQ登录

只需一步,快速开始

在WinCC画面中想实现鼠标点击一个或者一排输入输出值时让它突出显示,该怎么实现呢

[ 复制链接 ]
在WinCC画面中想实现鼠标点击一个或者一排输入输出值时让它突出显示,该怎么实现呢最近遇到一个问题,在WinCC画面中想实现鼠标点击一个或者一排输入输出值时让它突出显示,该怎么实现呢?一点头绪都没有,请各位专家们指导一下下


-------相当于点击IO域弹出小画面吗?


---把图片里的一排当成是I/O域点,当鼠标经过某一排时显示浅色(如图AC-DC-Highway To Hell),当点击一排是就变成深色(如图AC-DC-Rock Or Bust 一排)或者比没点击时大一圈,不知道这个好实现吗,呵呵!!!!

在WinCC画面中想实现鼠标点击一个或者一排输入输出值时让它突出显示,该怎么实现呢

在WinCC画面中想实现鼠标点击一个或者一排输入输出值时让它突出显示,该怎么实现呢


------鼠标动作->修改背景颜色


--------大侠,呵呵,我有点不太明白,您能不能给我一个具体的动作指令或者示例啥的吗,麻烦您了!
----内部变量 16位无符号整数,(根据IO数量), 每个IO框的颜色属性对应该整数的一个位, 依次对应, 鼠标单击时间, 只要负责把当前IO框额对应位置1, 其他置0.SetTagWord("tag", 1 << n); //n是0 - 15, 分别对应1-16号IO框

-------一般的做法是用多边形把群组的对象框起来,然后多边形不要填充线条色尽量与底色相同,接着在多边形事件的鼠标经过里面设置多边形的线条为高亮色,在多边形鼠标离开事件里面恢复多边形的线条色。
对象少的话,直接组群后在组群事件里面改变填充色即可。
当然也可以在每个对象事件里面写改变颜色的代码,或者执行公共函数什么的。


------请问您说的鼠标经过和鼠标离开这两个事件在哪个地方,没找到,不好意思,水平有限,麻烦您告诉我一下


-------WINCC没有鼠标移动事件。

尽量别这么做了。


------感觉实现起来很困难

和万版主说的一样,WINCC没有鼠标移动事件,如果有的话,还简单点

或者用全局脚本扫描定时获取鼠标坐标,根据鼠标的坐标判断是不是在你说的对象上面,如果在,那就改变那一行的背景色

鼠标点击倒是好说,但是也得做一个变量,防止脚本扫描再把颜色改回来,这样可能能实现


---------可以实现

这是两部分:

  • 鼠标的坐标范围范围盘点触发事件, 这个相关代码在《wincc6.0 过程画面如何做到自动切换的效果>>我发了, 代码太长, 主要是调用系统API获取鼠标当前坐标;具体来说, 你可以先得到需要触发的范围赌赢的矩形框的2个定点坐标。 用该画面里某个对象某个属性的C脚本判断是鼠标是否进入了矩形区域;进入则突出显示, 离开则回复正常。
    2. 第二部分, 每个IO框的属性对应一个 16整数的一个位; 你鼠标单击某个IO框, 只要把它对应的位置1,其他写0就行;比如0 - 15对应16个IO框, 一次编号, 鼠标单击事件中写脚本: SetTagWord("tag", 1 << n);就行, n是该IO框编号。

    身为工控人, c语言有时间接触一下, 大有裨益。

--------链接地址在哪里?

还有,具体使用API对系统的负载有多大?会不会感到迟钝?




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索