找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 488|回复: 11

[VBA程序]:急!!!如何让vba的userform与cad的窗体切换激活?

[复制链接]
发表于 2004-4-24 22:16:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
简单的说就是能像“特性”(ctrl+1)窗体那样无需关闭,与cad的窗体同时显现并可进行操作。也就是让userform能进行模态和非模态的切换??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-4-25 09:09:15 | 显示全部楼层
userform1.show 0
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-25 10:40:57 | 显示全部楼层
做两个按钮让用户自己切换
Private Sub CommandButton1_Click()
Me.Hide
Me.Show 1
End Sub
Private Sub CommandButton2_Click()
Me.Hide
Me.Show 0
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-25 12:59:29 | 显示全部楼层
如图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-25 13:27:29 | 显示全部楼层
最初由 lijiao 发布
[B]userform1.show 0 [/B]

lijiao你好,我看过你以前的帖子http://www.xdcad.net/forum/showt ... d=347792#post347792

我就是想大致做成你这样的,但是我不需要捕捉鼠标以自动隐藏,而只要userform一直显示,需要对其操作时比如往textbox输东西可以,同时不关闭此userform要在cad里绘图也可以。
如果只是简单地让窗体非模态化显示是不行的,因为这时虽然可以在cad里绘图,但在userform里输入东西是很困难的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-25 14:59:29 | 显示全部楼层
上面的例子就是你讲的,在正常情况下,对话框出现后是不能对屏幕进行操作的,而上面的例子则可以,是因为它是非模态的。
关键是要在模块中使用userform1.show 0
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-25 21:49:18 | 显示全部楼层
to lijiao:
可是我是要在窗体里输入文本呀,如果窗体一直都非模态显示输入是很困难的,不信你试试?

我又想到一个办法,跟你的鼠标事件类似,捕捉鼠标,如果鼠标在窗体内,窗体模态显示;如果不在窗体内,非模态显示。能否请你把自己用的API函数告诉我呢?谢谢哦:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-26 08:24:15 | 显示全部楼层
你提到的我那个例子,我是要像属性框那样自动隐藏窗体,不是用HIDE,所以要用到鼠标事件。由于效果不理想,所以我也不用了。
你的程序可能要在VB里面做,要用到一个API,产生一个窗体,这个窗体要在所有窗口的最上面。由于我没有安装VB,要不然我都帮你做一个。
好想用OBJECTDCL也可以达到你的要求。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-26 22:01:38 | 显示全部楼层
to lijiao:
我今天试了一天,用setcapture在vb里可以,但是在vba里不行。我还试了用定时API函数来扫描执行(timesetevent),老是出错导致cad退出。所以我现在考虑要不做成像你的例子那样自动隐藏。如果方便能否给我看看源码呢?谢谢你这几天帮我出谋划策:)
DCL我想过,但因为不会VL所以还是暂不考虑,实在8行了再学吧,嘻嘻。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-27 20:13:29 | 显示全部楼层
我是采用在主窗体上设置一个hide command来实现的,hide的同时调用一个不排父的showform窗口,那个不排父的窗口可以设置得很小,不会影响cad的界面,然后要要的时候再点击showform上的show command再次调用主窗体。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-30 11:20:53 | 显示全部楼层
采用userform1.show与userform1.hide即可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-12 20:07:46 | 显示全部楼层
通过API设置窗体显示在最前面如何?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 22:57 , Processed in 0.479629 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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