Wincc 6.0图形按钮弹出询问框的问题

请问各位大侠:
      本人在WINCC界面/对象选项板/标准/窗口对象里面添加了一个圆形按钮,需要按鼠标动左键动作时,弹出一个询问框“你确认要开机吗?”,选择“是”,将变量"NewTag"设定为1,选择“否”,不对变量"NewTag"进行设定。
 现在我的问题是:WINCC激活后,第一次操作在该按钮时,询问框会跳到窗口下方,如果画面是全屏、最大化的话,该询问框根本看不到,请问各位大侠,这是什么原因啊?
 我的C脚本如下:

 HWND hwnd = NULL;
 int iRet;
 hwnd = FindWindow(NULL,"wincc c-course");
 iRet = MessageBox(hwnd,"你确认要开机吗?","询问框", MB_YESNO| MB_ICONQUESTION| MB_APPLMODAL);
 printf("\r\nExample 2\r\n");
 if  (iRet  == IDYES)
 {
    printf("user selected YES But ton \r\n ");
   SetTagBit("NewTag",1); //Return-Type: BOOL 

 }
 else// if  (iRet  == IDNO)
 {
  printf("user selected NO But ton \r\n ");

 

 }
 }
 

最佳答案

句柄获取错了!
 hwnd = FindWindow(NULL,"wincc c-course");
 改成
 hwnd = FindWindow(NULL,"WinCC-Runtime - ");  //运行语言为英文
 hwnd = FindWindow(NULL,"WinCC-运行系统 - ");  //运行语言为中文

 通过设置父窗口句柄可是MessageBox为模式对话框。
 ----------------------------
 另外,还可以为MessageBox添加参数MB_SYSTEMMODAL使其置顶:
 iRet = MessageBox(NULL,"你确认要开机吗?","询问框", MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
 -----------------------------
 楼主可以对比一下这两种方法的区别。

提问者对于答案的评价:
谢谢你,通过了。

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

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

相关推荐