画面中重要的按钮需要进行二次确认,当然进行二次确认的方法有很多,本文介绍C脚本调用MessageBox的方法。
1、案例一
变量Unlock状态为1时,电动阀解除联锁;变量Unlock状态为0时,联锁电动阀。
画面中有一个“联锁/解锁”按钮,当Unlock=0,点击后变为Unlock=1;当Unlock=1,点击后变为Unlock=0。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | BOOL T1; int xret; T1=GetTagBit("Unlock"); if(T1) { xret=MessageBox(NULL,"确定联锁电动阀?","===",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL); if(xret==IDYES) {SetTagBit("Unlock",0);} } else { xret=MessageBox(NULL,"确定解除电动阀联锁?","===",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL); if(xret==IDYES) {SetTagBit("Unlock",1);} } |
2、案例二
画面中有一个“手动”按钮,点击按钮时,变量UD_MAN=1;释放按钮时,变量UD_MAN=0。
对于这样的要求,有好几种解决方法,本代码采用Sleep 函数,Sleep(1000)表示延时1s,即按下按钮之后,变量UD_MAN产生1s的高电平。代码的抬头“#pragma code(“Kernel32.dll”)……”很重要,声明调用了函数的库以及对函数的定义。
1 2 3 4 5 6 7 8 9 10 11 12 13 | #pragma code("Kernel32.dll") void Sleep(int Milliseconds); #pragma code() int xret; xret=MessageBox(NULL,"确定进入 手动 卸灰模式?手动模式会停止全部卸灰设备","除尘卸灰系统",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL); if(xret==IDYES) { SetTagBit("UD_MAN",1); Sleep(1000); SetTagBit("UD_MAN",0); } |