PLM之家PLMHome-工业软件践行者

[求助] Block UI Apply的返回值

  [复制链接]

2017-6-19 12:34:17 4097 4

2

主题

34

回帖

505

积分

高级会员

积分
505
发表于 2017-5-26 17:05:57 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
版主:  S2 u% H3 M/ \( j
       问个问题,在BlockUI里面,如果界面上所有需要设置的Block元素设置好之后,这时候Apply按钮可以点击了) e- ]3 A: F) [1 Y3 S/ Q6 D% a
但是如果中途我们判断有些条件不正确,不想让Apply执行完,就在中途返回,或者抛一个异常让Apply回调捕获,
4 ^$ J' q5 f5 k2 e       这时候,如果Apply回调的返回值errorCode是0,它会把当前界面上所有Block元素已经设置的值都清空(比如已经选择的面,体。。)! h" z; r" T1 q5 x# W3 U
如果让这个返回值不为0,它不会清Block元素,但是会多弹出一个外部库异常的提示。
4 c% H, E7 ^! p       问下这个有什么办法可以解决。' @( s) B0 I; @) Z4 [
int xxxx::apply_cb()
" B& s6 u: l9 M/ I/ w" S/ h{
5 i, S- w$ h* q) e) S- B        int errorCode = 0;
* n( {3 \. J. w: G# ?5 t        try0 D. k6 V# r  g: _: G, l+ s
        {5 a6 s" ]( {& j; M: L( v* Q0 [& U
。。。。。。。
7 K7 c; Q( _, L/ v0 r8 h! ~1 T        }3 u' y6 J/ [' T2 e2 g7 o* @( t0 q, k
        caTCh (exception& ex)0 {  i8 {' \- L  V: l
        {
6 ~6 C' q, K9 `! D8 f9 z. G                //---- Enter your exception handling code here -----
/ X' R2 M' d" \                errorCode = 1;; a7 @4 Y3 o! m1 n+ E
                InsertDesgin::theUI->NXMessageBox()->Show("BlcokUI styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
2 f2 B3 d5 Y1 a/ c0 A; t        }
5 N: u8 i3 j0 \8 k        return errorCode;8 C  n; Y$ X9 T2 Y$ O/ s
}
* K; C6 c; U' L! j; K9 W
- u; r/ E* u4 {
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复4

7

主题

58

回帖

866

积分

高级会员

积分
866
发表于 2017-5-30 16:38:59 | 显示全部楼层
这样做不太好,程序效率不高,你可以在update函数里面做条件判断,这样你每次交互都可以知道有没有异常
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

2

主题

34

回帖

505

积分

高级会员

积分
505
 楼主| 发表于 2017-6-2 01:39:54 | 显示全部楼层
rkc_555 发表于 2017-5-30 16:38
  E. d1 z# a/ o这样做不太好,程序效率不高,你可以在update函数里面做条件判断,这样你每次交互都可以知道有没有异常 ...

6 a+ D5 B  n6 Z1 O& t3 g- r4 D, T. ]我明白你的意思,主要还是BlockUI的机制。因为界面上Apply按钮启用了以后,用户是直接可以中键进行操作的,难免有误操作。如果在Updata里面做,有什么办法可以把Apply按钮禁用掉么5 p% T6 ]; k/ ^2 o+ a

4 `/ g# K# o6 `% a! v3 ZBLockUI的确进步了很多,加了很多控件和特征,但是有些地方还是约束的太多了,感觉没有UIstyler和MFC灵活,我现在一般都习惯在UIstyler里面嵌入MFC控件来整。用BlockUI也就是只想用下手柄
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

7

主题

58

回帖

866

积分

高级会员

积分
866
发表于 2017-6-2 18:18:23 | 显示全部楼层
humanster 发表于 2017-6-2 01:39: ~5 d6 i; z1 X5 i
我明白你的意思,主要还是BlockUI的机制。因为界面上Apply按钮启用了以后,用户是直接可以中键进行操作的 ...

' w; ^3 C1 V% @7 z好像有方法的,你在编辑UI界面时,在代码生成界面上有个“启用确定/应用按钮”,你把这个设为TRUE,然后再加代码到里面试试,我没用过这个函数,不知道行不行
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

2

主题

34

回帖

505

积分

高级会员

积分
505
 楼主| 发表于 2017-6-19 12:34:17 | 显示全部楼层
rkc_555 发表于 2017-6-2 18:18  Q1 C% P& C7 t. E& n
好像有方法的,你在编辑UI界面时,在代码生成界面上有个“启用确定/应用按钮”,你把这个设为TRUE,然后再 ...

! _7 N( G( Y: W$ ~. E好的,谢谢!看来也只有这个方法了!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了