明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5471|回复: 15

VB下如何编程隐藏AutoCAD的菜单跟工具栏?

  [复制链接]
发表于 2005-4-27 14:08:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-4-28 15:22:14 编辑

VB做的界面作为父窗体,AuotCAD的窗体作为子窗体,见附图 这种情况下,如何用API获取AutoCAD的菜单跟工具栏的句柄并且实现AutoCAD菜单和工具栏的隐藏? 问了很多人了 都还没有得到一个明确的答案 请高手帮忙指点 邮箱:holly413@163.com QQ:34740594
发表于 2005-4-27 22:03:00 | 显示全部楼层
看看对象模型,可以直接解决的就不用调用API了
发表于 2005-4-28 10:32:00 | 显示全部楼层
在编程申请中我回了个帖子
 楼主| 发表于 2005-4-28 10:51:00 | 显示全部楼层
谢谢了
发表于 2005-4-28 11:46:00 | 显示全部楼层
其实刚才的方法有致命的问题,还是不可取的.我现在在考虑另外一种方法.


首先隐藏菜单(已实现):SetMenu hwnd,0                 hwnd是acad应用程序的句柄.


隐藏工具栏的方法我想通过获得控件的句柄,然后调用API函数showwindow来实现,正在努力中
 楼主| 发表于 2005-4-28 11:50:00 | 显示全部楼层
万分感谢


研究出来了之后


麻烦您告诉我一下方法哦
发表于 2005-4-28 11:53:00 | 显示全部楼层
发表于 2005-4-28 13:28:00 | 显示全部楼层
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=29702 这个地址中有讲到去掉工具栏的一个方法,我试了一下还可以,代码如下: Dim I As AcadMenuGroup
Dim j As AcadToolbar
For Each I In acadApp.MenuGroups
For Each j In I.Toolbars
j.Delete
Next j
Next I
发表于 2005-4-28 15:17:00 | 显示全部楼层
现在对于这个问题已经有了一定的理解和实践,产生一种方案: 1.对于菜单,可以用SetMenu hwnd,0消除; 2.对于各式各样的工具栏,可以用如下代码消除: Dim menugroup As AcadMenuGroup
Dim toolbar As AcadToolbar
For Each menugroup In acadApp.MenuGroups
For Each toolbar In menugroup.Toolbars
toolbar.Delete
Next toolbar
Next menugroup 3.对于剩余的可见窗体,如状态栏和命令行,可以通过设置acad窗口的size来隐藏,注意,实际上状态兰和命令行是存在的,只是因为acad的大小超过了Form的窗口大小而变的不可见,在Form的Resize函数中,适当调整acad窗口的left,right,height,width,就可以使acad包含在form中,效果是你只能看到ActiveDocument,我随便做了几个操作,效果挺不错的,就是感觉这个方法不太正规.如果有谁知道更好的办法,请告诉我,谢谢.
 楼主| 发表于 2005-4-28 15:27:00 | 显示全部楼层
我试了



用SetMenu acadApp.ActiveDocument.hwnd,0语句


但是不行啊


找不到SetMenu这个函数




本帖子中包含更多资源

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

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 18:43 , Processed in 0.203614 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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