技术论坛

 回复:WINCC上要求 点击每个阀门弹出一个控制方框 怎么做啊?

返回主题列表
作者 主题
红海湾
侠士

经验值:1018
发帖数:355
精华帖:0
楼主    2011-04-27 00:13:12
主题:WINCC上要求 点击每个阀门弹出一个控制方框 怎么做啊?
WINCC上要求 点击每个阀门 每个点击 弹出一个控制方框 (对泵和阀门进行开关,状态指示)
因为自己VB 和C语言不好!不会写脚本!所以在这里请教哈各位高手
有不有其他方法 或则有不有这方面的学习资料? 谢谢!!
今天只需要稳稳的迈出一小步!!
新湖长
侠圣

经验值:3163
发帖数:573
精华帖:15
15楼    2011-05-12 00:25:52
精华帖  主题:回复:WINCC上要求 点击每个阀门弹出一个控制方框 怎么做啊?
quote:以下是引用红海湾在2011-05-04 18:39:51的发言:
quote:以下是引用万泉河在2011-05-04 09:55:28的发言:
脚本总要有一点的。
我通常会在窗口弹出的同时,把窗口的位置移动到鼠标当前位置。
那就至少有4句脚本了吧?

哦 那完了! C语言 学的垃圾 ! 版主提供点脚本程序啊?
1 可以达到 鼠标点击哪里画面窗口就出现在哪里

2 可以更改变量标题和前缀

对于懂C语言的的学友前辈些应该不难吧?跪谢了!



建好结构变量后
在鼠标左键里,选择VBS动作:
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim PIC
Set PIC = ScreenItems("画面窗口1")'选择画面窗口
PIC.Visible = False
PIC.Left = x +10
PIC.Top = Y '使窗口移动到鼠标位置
PIC.TagPrefix = "TAG_6."' 定义变量前缀
PIC.Visible = True


哪有狂澜不能力挽
n次看你的背影
奇侠

经验值:7974
发帖数:2321
精华帖:73
16楼    2011-05-16 16:37:13
精华帖  主题:回复:WINCC上要求 点击每个阀门弹出一个控制方框 怎么做啊?
quote:以下是引用红海湾在2011-05-04 18:39:51的发言:
quote:以下是引用万泉河在2011-05-04 09:55:28的发言:
脚本总要有一点的。
我通常会在窗口弹出的同时,把窗口的位置移动到鼠标当前位置。
那就至少有4句脚本了吧?

哦 那完了! C语言 学的垃圾 ! 版主提供点脚本程序啊?
1 可以达到 鼠标点击哪里画面窗口就出现在哪里

2 可以更改变量标题和前缀

对于懂C语言的的学友前辈些应该不难吧?跪谢了!




如此的虔诚,让人感动,应该得到回报!我也提供一些关于结构变量,并在指定位置弹出窗口的C脚本给你参考一下,希望对你有些帮助,其实最主要的还是要你自己再去研究一下哦。
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{

SetPropChar(lpszPictureName,"popbox2","CaptionText","标题栏的内容");//注:popbox2是父窗口的Picturewindow
SetTagPrefix(lpszPictureName,"popbox2","结构变量的前缀.");//对结构变量赋前缀
OpenPicturewindowoffset(lpszPictureName,lpszObjectName,"popbox2","要弹出显示的通用画面.pdl",0,0);//二次开发的项目函数,定义弹出窗口的位置,并判断弹出的位置

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
二次开发的项目函数如下:
#include "apdefap.h"
void OpenPicturewindowoffset(char* lpszPictureName, char* lpszObjectName, char* PicturewindowName,char* PinPName, int Pinpwidth,int Pinpheight)
{
int left,top,objwidth,picwidth,picheight;
struct CC_POINT
{
int iLeft;
int iTop;
};
struct CC_POINT posObject;
picwidth=900;
picheight=700;
left=GetLeft(lpszPictureName,lpszObjectName);
top=GetTop(lpszPictureName,lpszObjectName);

objwidth=GetWidth(lpszPictureName,lpszObjectName);
if(left+objwidth+PinpwidthposObject.iLeft = left +objwidth+10;
}
else posObject.iLeft = left -Pinpwidth-10;
if(top+Pinpheight+80>picheight){
posObject.iTop = picheight-Pinpheight-30;
}
else posObject.iTop = top ;
SetLeft(lpszPictureName,PicturewindowName,posObject.iLeft);
SetTop(lpszPictureName,PicturewindowName,posObject.iTop);
SetPictureName(lpszPictureName,PicturewindowName,PinPName);
SetVisible(lpszPictureName,PicturewindowName,TRUE); //Return-Type :BOOL

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。