iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 22566|回复: 3
打印 上一主题 下一主题

UG二次开发关于MFC非模态对话框和UIStyler对话框调用的诡异问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-16 11:49:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

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

x
做了一个MFC非模态对话框调用UIStyler对话框的小例子
正常操作是
1、MFC非模态对话框点击按钮调用UIStyler定制的ug对话框
2、UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM),并将MFC对话框隐藏。
3、UF_STYLER_create_dialog打开UIStyler对话框
4、正常在uistyler对话框退出时,再显示mfc对话框。UF_UI_unlock_ug_access(UF_UI_FROM_CUSTOM);
以上是设定的正常的操作。

现在问题是在3-4步骤之间。虽然使用了lock_ug_access
但UG界面没有全部锁定,还是有若干ug菜单 和对话框可以使用。分为两类
A类、如Layer设置的对话框,调用后,关闭,还是会返回到之前的我们的UIStyler对话框,无任何问题
B类、如CAM导航栏的右键Edit菜单,调用后,关闭,不会返回到之前的我们的UIStyler对话框。这时候UG界面无任何功能可用。处于假死状态。只能关闭UG。

对于这种错误,思考几个解决方案:
1、全部锁定UG界面
       A,可找不到这样的函数。仅有UF_UI_lock_ug_access
       B、隐藏掉导航栏,同样没有找到这样的函数
2、设置Hook,将原来的对话框显示出来
      A、显示MFC非模态对话框,可以显示,但界面还是锁定的,若unlock之后,再调用UF_STYLER_create_dialog,则报错
            A dialog cannot be constructed from your callback if you have not set the Dialog Creating Callback toggle in the UIStyler.
      B、显示刚刚的那个UIStyler对话框
           但如何显示那个UIStyler对话框

求各位高手不吝赐教。。。。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
 楼主| 发表于 2014-6-19 14:22:53 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
板凳
 楼主| 发表于 2014-6-22 11:02:49 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
地板
 楼主| 发表于 2014-6-30 20:16:54 | 只看该作者

马上注册登录,享用更多网站功能!

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

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

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-4-26 08:15 , Processed in 0.012562 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表