作者 | 主题 |
---|---|
小猪宝宝♂ 侠圣 经验值:3555 发帖数:237 精华帖:4 |
楼主 2017-11-08 11:28:34
主题:如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入? 如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入;如果没有超出限值则不提示正常输入?其实这个思路和 《使用WinCC输入输出域实现带确认的输入操作》效果是类似的,只不过这个是实现超过限值时,弹出对话框,而上面这个是只要输入数值就弹出。 项目要求弹出对话框之后,点击确定,输入数值;点击取消,保留上一次的输入值。 操作步骤如下: 1、建立一个输入输出域,并关联一个变量,我这里是用的是DWORD类型变量angle; 2、属性--几何--位置x--C动作,输入以下程序 DWORD i; int b; static DWORD a; i=GetTagDWord("angle"); //Return-Type: DWORD if(i>80) { b= MessageBox(NULL,"是否将这个数值输入!","提示", MB_OKCANCELMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL); switch(b) { case 1:SetTagDWord("angle",i);break;//确定 是1将要写进的值写入输入框 case 2:SetTagDWord("angle",a);break;//取消是2 保留上一次输入值 } } a=i; return 380; 3、编译并保存;触发变量--angle; 点击运行,即可实现功能
哈哈哈哈,人生不如意事,十有七八,能与人诉之一二。
|
小猪宝宝♂ 侠圣 经验值:3555 发帖数:237 精华帖:4 |
4楼 2017-11-09 08:40:18
主题:回复:如何实现输入输出域输入一个数值,当超过设定值时弹出对话框提示是否确定输入? 程序部分改进版,可以把需要输入的输入值显示在对话框中,感谢任班,又学了一些如何使用sprintf函数,和他们讨论的时候没搞明白这个函数怎么用的,找了别的程序参考一下,做出来了。 DWORD i; int b; static DWORD a; char c[256]; i=GetTagDWord("angle"); //Return-Type: DWORD if(i>80) { sprintf(c,"是否要将%d这个超限值输入",i); b= MessageBox(NULL,c,"提示", MB_OKCANCELMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL); switch(b) { case 1:SetTagDWord("angle",i);break;//确定 是1将要写进的值写入输入框 case 2:SetTagDWord("angle",a);break;//取消是2 保留上一次输入值 } } a=i; return 380;
哈哈哈哈,人生不如意事,十有七八,能与人诉之一二。
|