您的位置:控制工程论坛网论坛 » 技术争鸣 » 请问,wincc图形编译器里的库的按钮修改问题?

wangchen

wangchen   |   当前状态:在线

总积分:9915  2024年可用积分:7

注册时间: 2010-03-25

最后登录时间: 2024-05-22

空间 发短消息加为好友

请问,wincc图形编译器里的库的按钮修改问题?

wangchen  发表于 2010/3/25 11:28:52      7318 查看 1 回复  [上一主题]  [下一主题]

手机阅读

我从图形编译器里的视图->库->全局库->Operation->Toogle Buttons里添加了一个"On_Off_2"的按钮,但是进行事件鼠标动作的时候没有按左键动作,只有鼠标动作;如何添加按左键动作呢?我想在按下左键的时候按钮打到on或者是off,并且弹出一个对话提示框.
 我用的C脚本是 :
BOOL kk;
kk=GetTagBit("Toggle");
if(kk)
 {if (MessageBox(NULL, "您确定要冷热源供水为冷水模式吗?", "供水源选择", MB_YESNO | MB_ICONEXCLAMATION | MB_SETFOREGROUND|MB_SYSTEMMODAL) == IDYES) {
     { SetTagBit("cool_or_heat",0);
        SetTagBit("Toggle",0);
     }
}
else 
{
if (MessageBox(NULL, "您确定要冷热源供水为热水模式吗?", "供水源选择", MB_YESNO | MB_ICONEXCLAMATION | MB_SETFOREGROUND|MB_SYSTEMMODAL) == IDYES) {
     { SetTagBit("cool_or_heat",1);
        SetTagBit("Toggle",1);
     }

}

我刚学WINCC不久,希望各位大侠帮帮忙.谢谢!

1楼 0 0 回复
  • wangwei01

    wangwei01   |   当前状态:离线

    总积分:293  2024年可用积分:0

    注册时间: 2010-03-25

    最后登录时间: 2017-06-28

    空间 发短消息加为好友

    wangwei01   发表于 2010/3/25 11:28:52

    1.ON_OFF_2是自定义对象,添加左键动作需要如下步骤:
    选择控件->右键->动态对话框,选择"事件"页->鼠标->对象ON_OFF_2->双击事件"按左键"
    上述步骤完成后即为该对象添加了左键动作。
    2.ON_OFF控件不是这样用的,你的脚本虽然可以控制变量切换,但ON_OFF控件并不随你的变量动态变化。具体步骤如下:
    2.1 设置ON_OFF_2的UserDefine->Toggle直接连接变量cool_or_heat
    2.2 将原鼠标动作内的代码改为如下即可(如想放到鼠标左键动作,将代码放置按左键事件内,并将鼠标动作代码删除):
    BOOL value;
    LINKINFO plink; 


    PDLRTGetPropEx(0,lpszPictureName,lpszObjectName,"Toggle",VT_BOOL,&value,NULL,NULL,0,NULL,NULL);
    if(value) 
    {
      if (MessageBox(NULL, "您确定要冷热源供水为冷水模式吗?", "供水源选择", MB_YESNO | MB_ICONEXCLAMATION | MB_SETFOREGROUND|MB_SYSTEMMODAL) == IDYES) 
     value =FALSE;
    }
    else 
    {
     if (MessageBox(NULL, "您确定要冷热源供水为热水模式吗?", "供水源选择", MB_YESNO | MB_ICONEXCLAMATION | MB_SETFOREGROUND|MB_SYSTEMMODAL) == IDYES)
     value = TRUE;
    }


    PDLRTGetLink(0,lpszPictureName,lpszObjectName,"Toggle",&plink,NULL,NULL,NULL); //Rueckgabe-Typ :BOOL 


    if (plink.LinkType >2) return;
    else SetTagBit (plink.szLinkName,(short int) value);

    2楼 回复本楼

    引用 wangwei01 2010/3/25 11:28:52 发表于2楼的内容

总共 , 当前 /