#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
HWND hWnd=NULL;
int iRet;
hWnd=FindWindow(NULL,"Wincc- Runtime-");
iRet=MessageBox(hWnd,"Turn ON Lamp?","ASK FOR YOU",MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL);
if(iRet==IDYES)
{
SetTagBit("LAMP_1",1);
}
else
{
SetTagBit("LAMP_1",0);
}
}
为了测试上的方便,我在画面中放置了2个IO域,分别连接IntValue_1和intValue_2,为了描述上的方便,将连接intValue_1的称作A域,另外一个称作B域。
我在A域的事件Events》》OUtput/Input》》InputValue》》Change事件中编写了如下代码:
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, char* value)
{
#pragma option(mbcs)
HWND hWnd=NULL;
int iRet;
hWnd=FindWindow(NULL,"Wincc-Runtime-");
iRet=MessageBox(hWnd,"OK?","ASK FOR YOU",MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL);
if(iRet==IDYES)
{
SetTagWord("intValue_2",GetTagSWord("intValue_1")); //Return-Type: BOOL
}
}
这样B域会在A域改变并在确认对话框中点YES后才会改变。
你可以测试一下你的代码,看看你的代码能否运行正确。