乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 180|回复: 9

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

[复制链接]

14

主题

36

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2005-4-27 14:08:00 | 显示全部楼层 |阅读模式
VB做的界面作为父窗体,AuotCAD的窗体作为子窗体,见附图 这种情况下,如何用API获取的菜单跟栏的句柄并且实现AutoCAD菜单和工具栏的隐藏?
问了很多人了
都还没有得到一个明确的答案
请高手帮忙指点
邮箱:
QQ:34740594

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-4-27 22:03:00 | 显示全部楼层
看看对象模型,可以直接解决的就不用调用API了
回复

使用道具 举报

6

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 2005-4-28 10:32:00 | 显示全部楼层
在编程申请中我回了个帖子
回复

使用道具 举报

14

主题

36

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2005-4-28 10:51:00 | 显示全部楼层
谢谢了
回复

使用道具 举报

6

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 2005-4-28 11:46:00 | 显示全部楼层
其实刚才的方法有致命的问题,还是不可取的.我现在在考虑另外一种方法.
首先隐藏菜单(已实现):SetMenu hwnd,0                 hwnd是acad应用程序的句柄.
隐藏工具栏的方法我想通过获得控件的句柄,然后调用API函数showwindow来实现,正在努力中
回复

使用道具 举报

14

主题

36

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2005-4-28 11:50:00 | 显示全部楼层
万分感谢
研究出来了之后
麻烦您告诉我一下方法哦
回复

使用道具 举报

6

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 2005-4-28 11:53:00 | 显示全部楼层
回复

使用道具 举报

6

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 2005-4-28 13:28:00 | 显示全部楼层

这个地址中有讲到去掉工具栏的一个方法,我试了一下还可以,代码如下:
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
回复

使用道具 举报

6

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 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,我随便做了几个操作,效果挺不错的,就是感觉这个方法不太正规.如果有谁知道更好的办法,请告诉我,谢谢.
回复

使用道具 举报

14

主题

36

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2005-4-28 15:27:00 | 显示全部楼层
我试了 用SetMenu acadApp.ActiveDocument.hwnd,0语句
但是不行啊
找不到SetMenu这个函数

gzartg0lz2b.JPG

gzartg0lz2b.JPG
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-22 23:18 , Processed in 0.498458 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表