русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Настройка пользовательского интерфейса


Дата добавления: 2015-06-12; просмотров: 826; Нарушение авторских прав


Прежде всего, необходимо заменить стандартный интерфейс Excel, добавив команды меню и панели инструментов, необходимые для данного приложения, и удалив неиспользуемые команды, строку формул, заголовки строк и столбцов, ярлычки листов.

Скроем видимые панели инструментов, обратившись к свойству Enabled панелей инструментов. При установке данного свойства в значение False панель скрывается с экрана и удаляется из списка панелей, которые пользователь может отобразить при выполнении команды «Настройка…». В приведенном ниже коде скрываются все панели приложения. Данный способ эффективнее, чем обращение к свойству Visible панели инструментов, т.к. при завершении работы приложения при установке Enabled в True будут восстановлены именно те панели, которые были видны при запуске программы.

Dim cb As CommandBar

For Each cb In Application.CommandBars

cb.Enabled = False

Next cb

Далее удалим стандартные элементы интерфейса Excel. Основные объекты, к которым мы обращаемся, объект Application, представляющий приложение в целом, и объект ActiveWindow, который соответствует окну рабочей книги. Данный код лучше оформить в виде отдельной процедуры, получающей в качестве параметра логическое значение – отобразить или убрать соответствующие элементы управления.

With Application

.DisplayFormulaBar = False

.DisplayScrollBars = False

.DisplayStatusBar = False

.Caption = "АРМ"

 

With .ActiveWindow

.DisplayGridlines = False

.DisplayWorkbookTabs = False

.DisplayHeadings = False

.DisplayHorizontalScrollBar = False

.DisplayVerticalScrollBar = False

.Caption = "Управление АЗС"

End With

End With

 

Добавим панель инструментов и разместим необходимые команды. Ниже представлен внешний вид панели инструментов и программный код, создающий данную панель.



Рис. ХХ. Панель инструментов приложения

Set cmdbar = Application.CommandBars.Add("Management", msoBarTop)

Application.CommandBars.DisableCustomize = True

 

Dim but As CommandBarButton

With cmdbar

.Protection = msoBarNoCustomize

Set but = .Controls.Add(msoControlButton)

but.OnAction = "Getgaz"

but.Style = msoButtonCaption

but.Caption = "Ïîëó÷èòü áåíçèí"

Set but = .Controls.Add(msoControlButton)

but.OnAction = "Sellgaz"

but.Style = msoButtonCaption

but.Caption = "Ïðîäàòü áåíçèí"

Set but = .Controls.Add(msoControlButton)

but.OnAction = "Changeprice"

but.Style = msoButtonCaption

but.Caption = "Ñìåíèòü öåíû"

End With

Первоначально к коллекции CommandBars мы добавляем новый элемент – новую панель инструментов. Коллекция Controls добавленной панели инструментов содержит все элементы управления, расположенные на данной панели. Таким образом, для добавления новых кнопок необходимо добавить к данной коллекции новый элемент. Кроме обыкновенных кнопок на панели инструментов могут находиться более сложные элементы управления (см таблицу).

Значение Type Возвращаемый класс объекта
msoControlButton (командная кнопка) CommandBarButton
msoControlEdit (поле редактирования) CommandBarComboBox
msoControlDropdown (выпадающий список) CommandBarComboBox
msoControlComboBox (комбинированный список) CommandBarComboBox
msoControlPopup (контекстное меню) CommandBarPopup

Действия, выполняемые командой, должны быть запрограммированы в виде процедуры. Для передачи информации в исполняемый макрос можно использовать параметр Parameter, задаваемый при создании элемента или, что удобнее, свойство Parameter. Свойство OnAction, которым обладают все элементы панели, позволяет связать элемент с исполняемым макросом. Формально свойство является строкой, задающей имя макроса, который и будет вызываться в ответ на выбор пользователя.

Описанные выше блоки кода необходимо поместить в обработчик события Workbook_Open, т.е. на открытие рабочей книги. Интерфейс Excel будет заменяться каждый раз при открытии рабочей книги. Очевидно, что при закрытии книги (событие Workbook_BeforeClose) необходимо выполнить обратные действия – восстановить исходный интерфейс. Приложение должно руководствоваться принципом: «Меня здесь не было», т.е. полностью восстановить все параметры, которые оно изменило. Иначе, у пользователя использующего наше приложение и незнающего VBA могут возникнуть значительные проблемы, например, при исчезновении главного меню программы.



<== предыдущая лекция | следующая лекция ==>
Разработка структуры рабочей книги | Разработка экранных форм


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.178 сек.