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

请问各位大侠:
 我从图形编译器里的视图->库->全局库->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不久,希望各位大侠帮帮忙.谢谢!

问题补充:
谢谢您!我明白了,我以前添加左键时是按了"On_Off_2.鼠标动作",然后才去点的按左键所以就添加不上,现在我明白了.

最佳答案

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);

提问者对于答案的评价:
谢谢您,运行通过了.

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午12:33
下一篇 2019年6月11日 下午12:34

相关推荐