GMsgFunction函数用MessageBox实现报弹出警窗
刘玉蓉
发布于2014-08-18 17:54
749
0
标签:
已做的工作。
用GMsgFunction函数提其中一个供的例程来判断消息文本。
另外加一下面一段来弹出报警消息文本
if (mRT.dwMsgState==MSG_STATE_COME)//信息到达处理
{
MessageBox(NULL,tMeld.szText,"确定",MB_OK);
}
能报警弹出Message窗口,但存在下面几个问题。
1.问题是同一个报警在很短的时间里出现几次就一一弹出几次。
2.不同的变量报警不能弹出多个窗口。
3.MessageBox窗口里面的“确定”好能确定报警信息。
问题补充:
此方法若不能实现报警自动弹出报警消息,请问有别的什么方法能做到。希望得到例程和注释
图片说明: 1,GMsgFunction
佳答案
按顺序回答你的问题:
1、messagebox是返回int值的函数,报警来几次就调用几次messagebox函数,所以弹出消息框的次数等于报警出现次数。
2、messagebox函数调用时会阻挡程序往下执行,用户响应后返回值之后再弹出下一个messagebox窗口。同时弹出多个窗口,至少在WinCC中使用messagebox函数实现不了。
3、点击“确定”后,messagebox函数返回值1,再通过AcknowledgeMessage(DWORD MsgNr)函数确认该条报警信息即可。
问题补充:
1、使用WinCC自带的报警控件,设置好不同消息的颜色、等级,可以达到很好的警示效果。
2、如果需要更明显的消息报警,可以使用声音报警HORN。
3、还是不满意,一定要弹出窗口的使用WinCC ODK自己开发报警控件。
难度依次增大。