找回密码
 注册
Simdroid-非首页
查看: 85|回复: 4

GUI窗体怎么设为不可用

[复制链接]
发表于 2009-11-26 16:30:49 | 显示全部楼层 |阅读模式 来自 山东烟台
本帖最后由 ljelly 于 2009-11-26 17:09 编辑

让主窗体(figure)等待对话框响应,在没按对话框按钮之前,让窗体不可操作,我是这样写的

  1.     set(H,'windowstyle','modal');

  2.     f=warndlg('计算不收敛或结果非实数,请重新设置参数或初始值!','警告');

  3.    set(H,'windowstyle','normal');
复制代码
H为主窗体
但这样做,主窗体的菜单栏会消失一下又恢复(闪烁),觉着挺别扭,不知还有什么好的做法吗?谢谢
发表于 2009-11-26 17:05:42 | 显示全部楼层 来自 重庆
Simdroid开发平台
你没搞明白,Windowstyle 这个参数的意义。这里,没必要设置它,

  1. bbb=figure();%主窗口
  2. aaa=warndlg('计算不收敛或结果非实数,请重新设置参数或初始值!','警告');
  3. waitfor(aaa) %关键是这个
  4. pi%为了让你看到程序流程,在 警告窗口关闭之前,不会执行这个pi。也就是不会出来ans=3.1415....
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-11-26 17:08:37 | 显示全部楼层 来自 北京
如果是在m文件中
用uiwait(H)

然后用uiresume(H)恢复

如果是在命令窗下
用waitfor(H)
然后按Ctrl+c恢复
回复 不支持

使用道具 举报

 楼主| 发表于 2009-11-26 18:33:03 | 显示全部楼层 来自 山东烟台
谢谢楼上两位,可能我没把问题说清楚,我的意思是说,弹出对话框后,主窗体不能用鼠标选中,也不能进行任何操作

我的做法是

  1. f=warndlg('计算不收敛或结果非实数,请重新设置参数或初始值!','警告');
  2. set(f,'windowstyle','modal');
复制代码
这样就ok了,谢谢两位回复
回复 不支持

使用道具 举报

发表于 2009-11-26 18:53:59 | 显示全部楼层 来自 重庆
哦,我看错了。
我以为是,用户点击警告对话框之前,不执行程序的下一行代码。
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 05:26 , Processed in 0.061152 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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