Исследование свойств пункта меню — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Исследование свойств пункта меню

2021-06-30 29
Исследование свойств пункта меню 0.00 из 5.00 0 оценок
Заказать работу

Все пункты меню разделяют следующие свойства:

· Tag - уникальный идентификатор,

· Label - строка, определяющая содержание и форматирование,

· Caption - тот текст пункта меню, который видит пользователь,

· Macro - простой макрос или набор команд,

· Help String - быстрая подсказка в строке состояния,

· Enable - доступно или нет для выбора,

· Check - выбрано или нет, Index - номер пункта, начиная с нуля,

· Type - acMenuItem или acMenuSeparator или acSubMenu,

· Parent - меню к которому принадлежид данное меню. Пример включение/ отключения доступности:

Sub DisableMenuItem() Dim currMenuGroup As AcadMenuGroup Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0) Dim newMenu As AcadPopupMenu Set newMenu = currMenuGroup.Menus.Add("TestMenu") ' Добавим два пункта и разделительDim MenuEnable As AcadPopupMenuItem Dim MenuDisable As AcadPopupMenuItem Dim MenuSeparator As AcadPopupMenuItem Dim openMacro As String ' Назначиммакрос openMacro = Chr(3) + Chr(3) + Chr(95) + "open" + Chr(32) Set MenuEnable = newMenu.AddMenuItem(newMenu.count + 1, "OpenEnabled", openMacro) Set MenuSeparator = newMenu.AddSeparator("") Set MenuDisable = newMenu.AddMenuItem(newMenu.count + 1, "OpenDisabled", openMacro) ' Запретимвторойпункт MenuDisable.Enable = False ' Отобразим newMenu.InsertInMenuBar(ThisDrawing.Application.menuBar.count + 1)End Sub

Создание и редактирование панелей инструментов

Добавить кнопку на панель можно методом AddToolbarButton который принимает 5 параметров: Index, Name, HelpString, Macro, FlyoutButton (определяет будет ли панель выпадающая). Пример:

Sub AddButton() Dim currMenuGroup As AcadMenuGroup Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0) ' Создаемсначалапанель Dim newToolbar As AcadToolbar Set newToolbar = currMenuGroup.Toolbars.Add("TestToolbar") ' Добавляемкнопку Dim newButton As AcadToolbarItem Dim openMacro As String ' Назначиммакрос openMacro = Chr(3) + Chr(3) + Chr(95) + "open" + Chr(32) Set newButton = newToolbar.AddToolbarButton("", "NewButton", "Open a file.", openMacro)End Sub

Добавление разделителя - использовать метод AddSeparator.

Назначение значка для кнопки

Для этого есть методы SetBitmap и GetBitmap, первый принимает два параметра SmallIconName (bmp-файл 15х16) и LargeIconName (bmp-файл 24х22). Пример опроса существующей панели на предмет наличия иконок у кнопок.

Sub GetButtonImages() Dim Button As AcadToolbarItem Dim Toolbar0 As AcadToolbar Dim MenuGroup0 As AcadMenuGroup Dim SmallButtonName As String,LargeButtonName As String Dim msg As String Dim ButtonType As String ' Первая панель в первой группе менюSet MenuGroup0 = ThisDrawing.Application.MenuGroups.Item(0) Set Toolbar0 = MenuGroup0.Toolbars.Item(0) SmallButtonName = "": LargeButtonName = "" msg = "Панель: " + Toolbar0.Name + vbCrLfToolbar0.Visible = True ' Пройдем по коллекции, отображая имена иконок кнопокFor Each Button In Toolbar0 ButtonType = Choose(Button.Type + 1, "Button", "Separator", "Control", "Flyout") msg = msg & ButtonType & ": " If Button.Type = acToolbarButton Or Button.Type = acToolbarFlyout Then     Button.GetBitmaps SmallButtonName, LargeButtonName     msg = msg + SmallButtonName + ", " + LargeButtonName End If msg = msg + vbCrLf Next Button MsgBox msgEnd Sub

Создание выпадающей панели

Sub AddFlyoutButton() Dim currMenuGroup As AcadMenuGroup Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0) ' Создадимпанель Dim FirstToolbar As AcadToolbar Set FirstToolbar = currMenuGroup.Toolbars.Add("FirstToolbar")' Добавим кнопку для выпадающей панелиDim FlyoutButton As AcadToolbarItem Set FlyoutButton = FirstToolbar.AddToolbarButton _("", "Flyout", "Пример выпадающей панели","OPEN", True) ' Создадим вторую панель и привяжем ее к кнопе первой панелиDim SecondToolbar As AcadToolbar Set SecondToolbar = currMenuGroup.Toolbars.Add("SecondToolbar") ' Добавим кнопку на вторую панельDim newButton As AcadToolbarItem Dim openMacro As String ' Назначиммакрос openMacro = Chr(3) + Chr(3) + Chr(95) + "open" + Chr(32) Set newButton = SecondToolbar.AddToolbarButton _     ("", "NewButton", "Open a file.", openMacro) ' Присоединим вторую панель к кнопке первойFlyoutButton.AttachToolbarToFlyout currMenuGroup.Name,SecondToolbar.Name ' Отобразим первую панель, скрыв вторуюFirstToolbar.Visible = True SecondToolbar.Visible = FalseEnd Sub

Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.