请问各位大侠:
我从图形编译器里的视图->库->全局库->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