明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2159|回复: 3

[求助] 如何使自己创建的工具栏 在CAD重启后不需要再运行创建宏1

[复制链接]
发表于 2008-11-20 13:35:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-11-24 20:22:53 编辑

我创建的工具栏,再CAD2007中保存不了,每次启动都要运行创建宏,请大侠,高手帮我看看问题出那里了,谢谢!

有没有高手呀。帮帮忙啦。。。。。

原代码如下::

Public Sub AddmyBar()
 Dim i As Integer
    Dim currMenuGroup As AcadMenuGroup
    Dim newToolBar As AcadToolbar
    Dim openMacro(10) As String
    Dim NewButton(10) As AcadToolbarItem
    Dim smallbitmapname(10) As String
   
    Dim pathS As String
    Dim appPath As String
    appPath = ThisDrawing.Application.Path
    pathS = "\Support\Survey\Icon\"
    pathS = appPath & pathS
'创建自己标注工具栏
    Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
   
    Set newToolBar = currMenuGroup.Toolbars.Add("都成军_专用工具栏")
    newToolBar.Float 300, 300, 1
 
    openMacro(0) = "-vbarun" + " " + "xzFont" + " "
    Set NewButton(0) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "将文字角度改为 0", "将文字角度改为 0", openMacro(0))
    '设置第1个按钮的图标
    smallbitmapname(0) = pathS & "fb.bmp"
    NewButton(0).SetBitmaps smallbitmapname(0), smallbitmapname(0)
  
    openMacro(1) = "-vbarun" + " " + "zd" + " "
    Set NewButton(1) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "展临时点/摘录控制点/点位坐标标注", "展临时点,摘录控制点,点位坐标标准", openMacro(1))
      '设置第2个按钮的图标
    smallbitmapname(1) = pathS & "ATA.BMP"
    NewButton(1).SetBitmaps smallbitmapname(1), smallbitmapname(1)
   
     openMacro(2) = "-vbarun" + " " + "dcj_modi.cs" + " "
    Set NewButton(2) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "平面标注、修改", "平面标注、修改", openMacro(2))
      '设置第3个按钮的图标
    smallbitmapname(2) = pathS & "XXWZ.BMP"
    NewButton(2).SetBitmaps smallbitmapname(2), smallbitmapname(2)
   
     openMacro(3) = "-vbarun" + " " + "Survey.DimDrawing.SetTextStyle" + " "
    Set NewButton(3) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "更换文本字体", "更换文本字体", openMacro(3))
    '设置第1个按钮的图标
    smallbitmapname(3) = pathS & "TextStyle.bmp"
    NewButton(3).SetBitmaps smallbitmapname(3), smallbitmapname(3)
   
      openMacro(4) = "-vbarun" + " " + "swline" + " "
    Set NewButton(4) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "绘制3DLINE", "绘制三维线,以确保管道实长", openMacro(4))
    '设置第1个按钮的图标
    smallbitmapname(4) = pathS & "XYZ_LINE.bmp"
    NewButton(4).SetBitmaps smallbitmapname(4), smallbitmapname(0)
   
         openMacro(5) = "-vbarun" + " " + "ljfft" + " "
    Set NewButton(5) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "拼接分幅图.", "拼接分幅图.", openMacro(5))
    '设置第1个按钮的图标
    smallbitmapname(5) = pathS & "ljfft.bmp"
    NewButton(5).SetBitmaps smallbitmapname(5), smallbitmapname(5)
   
    openMacro(6) = "-vbarun" + " " + "lcjs" + " "
    Set NewButton(6) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "计算里程.", "计算里程.", openMacro(6))
    '设置第1个按钮的图标
    smallbitmapname(6) = pathS & "lcjs.bmp"
    NewButton(6).SetBitmaps smallbitmapname(6), smallbitmapname(6)
   
    openMacro(7) = "-vbarun" + " " + "bgxd" + " "
    Set NewButton(7) = newToolBar.AddToolbarButton(newToolBar.Count + 1, "管线点变大变小.", "管线点变大变小.", openMacro(7))
    '设置第1个按钮的图标
    smallbitmapname(7) = pathS & "sgxd.bmp"
    NewButton(7).SetBitmaps smallbitmapname(7), smallbitmapname(7)
 currMenuGroup.Save acMenuFileSource
发表于 2008-11-22 12:39:00 | 显示全部楼层

一般不建议在程序中创建菜单或工具栏,除非你的东西是动态的。

建议直接使用菜单文件建立这些东西。

一般程序建立的工具栏或菜单,只能当前进程有效,关了再开就没了。要重新再来。就象你运行程序道理是一样。

 楼主| 发表于 2008-11-22 13:10:00 | 显示全部楼层
那在CAD2004中是可以的呀。
发表于 2008-11-22 17:35:00 | 显示全部楼层

好象从2006版本后,菜单系统就有了变化,使用了配置方式,确实麻烦了许多。

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

本版积分规则

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

GMT+8, 2024-11-26 06:18 , Processed in 0.160452 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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