к оглавлению VB   VBScript   VBA   VB7 (.NET)   к 4GL - визуальному программированию

Заключительные штрихи интерфейса Visual Basic

  1. Элементы управления в версиях Professional и Enterprise
  2. Управляющий элемент Microsoft Comm 5.0
  3. Пример использования элемента управления коммуникациями
  4. Управляющий элемент редактирования с маской ввода Masked Edit Control 5.0
  5. Элемент управления средствами мультимедиа
  6. Элемент управления фрагментами Microsoft Picture Clip Control 5.0
  7. Диалоговый элемент управления с закладками Microsoft Tabbed Dialog Control 5.0
  8. Пример: использование элемента управления ярлыками
  9. Управляющие элементы Microsoft Windows Common Controls 5.0

Примечание: Фирма Microsoft недавно анонсировала планы по переводу обычной справочной системы Windows в формат HTML (формат, используемый в Web-документах).

Элементы управления в версиях Professional и Enterprise

    В этом разделе рассказывается о нескольких наиболее часто используемых управляющих элементах, поставляемых в версиях Professional и Enterprise системы Visual Basic. Все эти элементы доступны через диалоговую панель Project|Components.

Управляющий элемент Microsoft Comm 5.0

    При помощи элементов управления коммуникациями можно легко создать собственный коммуникационный пакет, работающий через модем с телефонной линией (не с сетью Internet). Также можно самостоятельно изменить его настройки при помощи многочисленных свойств. На настоящий момент максимальной доступной скоростью обмена является 28 800 бод. Кроме скорости обмена можно изменять такие настройки, как число бит данных, наличие бита четности и др. Элемент управления коммуникациями служит блестящим примером, демонстрирующим достоинства событийно-управляемого языка программирования. К примеру, можно создать элемент управления, вызываемый только при приходе сигнала активности от коммуникационного порта.


Примечание: Для построения коммуникационных средств работы с сетью Internet можно воспользоваться элементом Microsoft Web Browser Control 5.0.

Приведенная ниже таблица содержит ключевые свойства элементов управления коммуникациями.
 
 
 
 
 
Свойство
Описание
CommEvent Ключевое слово элементов управления коммуникациями. Различные значения этого свойства соответствуют как событиям, так и ошибкам коммуникационного порта. Например, если значение этого свойства равно константе comEOF (=7), то это говорит о наличии символа конца файла (ASCII 26) в буфере приема.
CommPort  При записи устанавливает адрес коммуникационного порта, при чтении - возвращает адрес текущего порта. (1 - для порта Сош 1,2— для порта Corn 2 и т.д.) 
Settings Устанавливает или возвращает следующие параметры: скорость обмена, наличие бита четности, число бит данных, число стоп-битов. Может устанавливаться как при создании элемента, так и во время работы приложения. 
PortOpen Открывает и закрывает коммуникационный порт.
Input Возвращает символы, находящиеся в буфере приема.
Output Посылает строку символов в буфер отправки.
 
 
     

    Элемент управления коммуникациями реагирует только на событие OnComm. Это событие соответствует изменению значения свойства CommEvent. При возникновении события можно, проанализировав значение свойства CommEvent, вызвать соответствующий обработчик события.
    Так же, как и остальные управляющие элементы, элемент управления коммуникациями дает возможность легкой настройки свойств через диалоговую панель. Для этого достаточно в окне Properties перейти к пользовательским настройкам (Custom). В появившейся диалоговой панели можно установить необходимые свойства элемента управления.

Пример использования элемента управления коммуникациями.

    В качестве простейшего примера использования элемента управления коммуникациями приведем программу принимающую информацию через один из коммуникационных портов (в данном примере используется порт СОМ I):

Private Sub cmdGetData Click ()
    Dim Foo As Integer, TheData As String MsCornml. CommPort = 1 ' COM1
    '28800 baud, no parity, 8 data, and 1 stop bit.
    'the Communications control can't go faster than 28800 baud
    MsCornml.Settings = "28800,N,8,1"
    MsCornml.InputLen = 0 ' Clear the comm buffer
    MsCornml.PortOpen = True
    'Send the usual wake up signal to the modem.
    MsCornml.Output = "AT" + Chr$(13)
    Do
            Foo = DoEvents ()
            MsCornml.InputLen = 0 'clear buffer
            TheData = TheData + ComiTil .Input "TheData will contain the data
    Loop Until Commi.CommEvent = comEvEOF
    MsCornml. PortOpen = False 'close the port
End Sub

    Управляющий элемент редактирования с маской ввода Masked Edit Control 5.0

    Применение элемента редактирования с маской ввода позволит управлять информацией, вводимой в панель текста, без написания дополнительного кода. Использование элемента редактирования с маской ввода напоминает использование обычной текстовой панели с той лишь разницей, что можно ограничивать вводимые символы без написания дополнительного кода в поле Key Events. Также можно использовать определенные символы для указания пользователю о типе и внешнем виде вводимых данных (например, телефонного номера или номера социальной страховки). Управляющий элемент редактирования с маской ввода относится к классу элементов с определенными данными (data - aware controls).
    При работе с элементами редактирования с маской ввода наиболее важным является свойство Mask. Можно устанавливать это свойство как при создании элемента, так и во время выполнения. Это свойство предназначено для задания маски, по которой пользователь вводит данные. Например, если надо получить номер телефона в формате, принятом в США, то необходимо установить свойство Mask следующим образом:

    MaskEdBoxl.Mask = " (###) -###-####"

    В результате элемент редактирования с маской ввода будет выглядеть так, как представлено на рисунке слева.
    (Естественно, при создании этого элемента не надо использовать поле ограничений в окне Properties.)
    Элемент редактирования с маской ввода имеет собственную диалоговую панель со списком свойств.
    В общем случае строка, задаваемая свойством Mask, работает аналогично строке формата в выражении Format. Так, в предыдущем примере символ "#" обозначает цифру, а символ " - " используется как разделитель.
Наиболее часто употребляемые символы маски приведены в следующей таблице.
 
 
 
 
 
Символ маски
 Описание
#
Требуется цифра.
.
Десятичная точка. Внешний вид данного символа при выводе зависит от текущих настроек системы Windows.
,
Разделитель множества. Как и в предыдущем случае, внешний вид выводимого символа зависит от настроек операционной системы.
:
Разделитель для поля времени.
/
Разделитель для поля даты.
 
 
 
 
Символ маски
 Описание
?
Требуется буква. Например, а - z или А - Z. 
 & (или С)
Требуется символ ASCII, код которого находится в промежутке 32-126 или 128 -255. 
>
Переводит все вводимые символы в верхний регистр.
<
Переводит все вводимые символы в нижний регистр.
А
Требуется буква или цифра.
а 
Позволяет ввести букву или цифру. 
9
Позволяет ввести цифру. 
 
 
     
 
     К примеру, маска "а9" позволяет, но не требует от пользователя введения двух символов. Первым символом может быть любая буква или цифра, вторым -только цифра.
    Все остальные символы, которые не указаны в таблице, непосредственно выводятся на экран. (Если надо просто вывести один из специальных символов, не учитывая его значение, просто поставьте перед ним символ обратной косой черты \. Например, маска "\##" выводит на экран символ #, после которого следует поле для ввода цифры).
    Для создания ноля ввода времени и даты можно использовать одну из предопределенных масок.
 
 
 
 
 
Маска
Описание
Пустая строка (" " в коде) (Используется по умолчанию.) Означает отсутствие маски ввода. В этом случае панель редактирования с маской ввода ведет себя как обычная текстовая панель. 
## - ??? - ##  Маска для ввода даты (соответствует стандарту, принятому в США).
## - ## - ## То же самое. За исключением того, что название месяца заменяется его номером.
##:## ?? Маска для ввода времени (расширенный формат).
##:## Маска для ввода времени (сокращенный формат). 
 
 
     
 
    Одним из наиболее редко используемых событий при работе с панелями редактирования с маской ввода является событие Validation Error. Оно имеет место при попытке пользователя ввести неверные данные. (Это событие может использоваться только для установления факта ввода символа, не соответствующего маске.)

Элемент управления средствами мультимедиа

    Устройства мультимедиа, такие, как проигрыватель компакт-дисков, становятся неотъемлемой частью современного персонального компьютера. Идея совместного объединения текста, звука и изображения действительно является передовой для нашего времени.
    Элементы управления средствами мультимедиа дают пользователю возможность воспользоваться командами интерфейса media control interface (MCI). Команды MCI позволяют управлять аудио- и видеоустройствами и не зависят от используемого оборудования. При помощи элемента управления средствами мультимедиа можно посылать такие команды, как старт, перемотка вперед, перемотка назад, пауза и т.д. Всего этот- элемент управления содержит около 60 свойств, поэтому вместо детального их описания здесь приводятся только основные принципы работы, исходя из которых можно самостоятельно настроить элемент управления, используя страницу Custom Properties.
        Это просто набор кнопок с названиями: Prev, Next, Play, Pause, Bask, Step, Stop, Record и Eject.
    Всякий раз, когда пользователь нажимает одну из кнопок, необходимо послать соответствующую команду MCI. Но прежде чем сделать это, необходимо решить, нужно ли:

    В первом случае следует установить значение True для свойств Visible и Enable (обычно это сделано по умолчанию в процедуре события Form_Load). Во втором случае необходимо использовать значение False для подавления вывода элемента на экран и для блокировки его использования.
    В качестве простейшего примера использования элемента управления средствами мультимедиа приведем программу проигрывания .wav-файлов. Последовательность шагов при этом будет такая: Private Sub Form Load ()
        'Set the properties needed by the MCI control to work
        MMControll.Notify = False
        MMControll.Wait = True
        MMControli.Shareable = False
        MMControll.DeviceType = "WaveAudio" \
End Sub Command! Click ()
        MMControll.FileName = Textl.Text
        MMControll.Command = "Open" 'play the file named in the textbox
End Sub

Вот и все!

Элемент управления фрагментами Microsoft Picture Clip Control 5.0

    Элемент управления фрагментами Microsoft Picture Clip Control представляет собой еще один способ размещения растровых изображений (bitmaps) в элементе управления. Так же, как и в случае с "оживленными" кнопками, подобная технология позволяет сохранять ресурсы системы Windows, а также повышать скорость доступа к изображению. К примеру, такой элемент может использоваться для создания панели инструментов, что позволит пользователю настраивать инструментарий по собственному усмотрению. В этом случае вместо считывания каждого инструмента как отдельного растрового изображения, можно сделать это одним действием, воспользовавшись элементом управления фрагментами.


Совет: Одним из путей объединения нескольких растровых изображении в одно является одновременное использование двух копии программы Windows Paint. Надо просто вырезать одно изображение и вставить его в другое. Подобную операцию можно повторить необходимое число раз.

    Из-за сложности в получении одного большого растрового изображения из нескольких файлов, необходимого при использовании элемента управления фрагментами, обычно используют элемент List Image.
    В любом случае полезно посмотреть программу, использующую элемент управления фрагментами (например, программу

C:\VB\Samples\comptool\Picclip\Redtop.vbp).

Диалоговый элемент управления с закладками Microsoft Tabbed Dialog Control 5.0

    Этот элемент управления дает возможность создавать диалоговые панели с закладками, наподобие диалоговой панели Tools/0ptions в системе Visual Basic. Этот элемент позволяет создавать группу диалоговых панелей, каждая из которых снабжена собственной закладкой.
    Как можно было заметить, первым шагом при создании такого элемента является установка его размера, необходимого для вывода информации в каждой закладке.
 
Пример: использование элемента управления ярлыками

При создании этого управляющего элемента нужно:

    Число закладок задается значением свойства Tabs (по умолчанию это значение равно 3). Если необходимо создать несколько рядов с закладками, надо воспользоваться свойством Tabs Per Row. При этом Visual Basic автоматически поместит необходимое количество закладок в рабочую форму. При помощи свойства Caption можно изменить надпись на закладке. (Если надо добавить горячую клавишу, то перед соответствующим символом необходимо поставить знак амперсанда &.) Свойство Picture позволяет поместить изображение на закладку. Свойства Tab Height и Tab Width задают геометрические размеры закладки.
    Следующим шагом является назначение каждой закладке соответствующего элемента управления. Для этого надо выбрать нужную закладку, щелкнув по ней указателем мыши. В качестве элемента управления, соответствующего закладке, можно использовать любой обычный элемент, используя технологию работы с контейнерными элементами. (Не следует забывать о недопустимости использования метода двойного щелчка.)


Примечание: После запуска проекта диалоговый элемент управления с закладками работает обычным образом. Пользователь может перемещаться по закладкам при помощи комбинаций клавиш CTRL+TAB, CTRL+SHIFT+TAB или посредством горячих клавиш, описанных в свойстве Caption.

    Как и в случае с обычными диалоговыми панелями, можно использовать в элементе управления закладками кнопки ОК и Cancel.


Совет: При помощи свойства Border Style можно сделать из диалогового управляющего элемента с закладками обычную диалоговую панель. Можно также расположить кнопки ОК и Cancel за пределами элемента управления.

Управляющие элементы Microsoft Windows Common Controls 5.0

    Можно одним действием добавить к панели инструментов восемь управляющих элементов. Для этого необходимо выбрать из диалоговой панели Project|Components соответствующую строку. В этом разделе мы вкратце опишем эти управляющие элементы.

Управляющий элемент Image List

    Использование элемента Image List -это еще один способ размещения группы изображений в одном месте. Эти изображения могут использоваться в любой части приложения (например, в качестве изображений для панели инструментов). Ключевым моментом при работе с элементом Image List является понимание принципов работы объектов List Image (а также коллекции элементов List Image), которые определяют изображения, используемые в управляющем элементе. (Можно рассматривать элемент Image List как контейнер для коллекции List Image.) Проще всего работать с элементом Image List при помощи его свойства (Custom), появляющегося из диалоговой панели Property Pages.
    Закладка Image на этой панели позволяет добавить изображения при создании элемента.
    (В процессе работы можно добавлять изображения в коллекцию List Image при помощи метода Add).
    Управляющий элемент Image List может хранить одновременно как растровые изображения, так и иконки. Так же, как и для других коллекций, можно ссылаться на хранящиеся изображения при помощи индекса или ключа. Например, если назначить изображение ImageListI. Listlmages(l), то команда

Set Picturel. Picture = ImageListI. Listlmages (1) .Picture
' set Picture.

    заполнит панель рисунка первым изображением из коллекции. (Нумерация в коллекции List Images начинается с 1.)
    Следует отметить, что не существует какого-либо ограничения на размер отдельного изображения, но общее число изображении, которое может быть считано, ограничено размерами доступной памяти.


Совет: Управляющий элемент List Image не обязательно использовать в качестве пассивного контейнера. Использование метода Overlay позволит создать одно изображение из двух других.

Управляющий элемент List View

    Управляющий элемент List View позволяет выводить элементы на дисплей различными путями - по существу, это те же пути, которые можно было наблюдать, работая с рабочим столом системы Windows. Например, можно использовать List View для выравнивания элементов по столбцам (с заголовком каждого столбца или без него). Элементы при этом состоят из иконки и текста. Различные методы представления элемента описываются свойством View, возможные значения которого приведены в таблице.
 
 
 
 
 
Константа
Значение
Описание
IvwIconO
0
(Используется по умолчанию.) Каждый объект List Item состоит из полноформатной иконки и метки.
 IvwSmallIcon 0
1
Каждый объект List Item представляется иконкой малого размера и меткой, расположенной справа от иконки. Все элементы выравниваются по горизонтали.
IvwList
2
Как и в предыдущем случае, каждый объект .состоит из иконки малого размера и текстовой Сметки, расположенной справа от иконки. Но при .этом все объекты представляются в виде списка.
IvwReport
3
Каждый объект элемента List Item представляется иконкой малого размера и меткой. Иконки и метки располагаются в колонках. Также для вывода пояснительного текста используются дополнительные колонки.
 
 
     
 

    Изображаемые элементы управляющего элемента List View называются List Item объектами. Каждый объект List Item имеет собственные свойства, описывающие его поведение. Наиболее важные из них представлены в таблице далее.
    Также можно выбрать заголовок для выводимого столбца в управляющем элементе List View. Для этого необходимо установить значение True/False для свойства Hide Column Headers. Соответствующий заголовок хранится в объекте Column Header, а все заголовки колонок собраны в коллекцию Column Headers.
 
 
 
 
 
Свойство
Описание
Icons
Возвращает или позволяет установить индекс или ключ для иконки, ассоциированной с объектом List Item.
Selected
Сообщает о том, что объект List Item был выбран пользователем (или позволяет его выбрать самостоятельно).
Smalllcons
Возвращает или позволяет установить индекс или ключ для иконки малого размера, ассоциированный с объектом.
Subltems
Возвращает или позволяет установить поясняющую строку для подэлемента, ассоциированного со специальным объектом List Item.
Text
Задает текст, который будет виден пользователем.
 
 
     
 


Совет: Для сохранения системных ресурсов можно привязать элемент Image List к управляющему элементу List View. Для этого надо установить ссылки свойств Icons и Smalllcons элемента List View на управляющий элемент Image List. Также можно указать соответствующий элемент Image List во время проектирования, воспользовавшись свойством (Custom) диалоговой панели.

Управляющий элемент Progress Bаr

    Использование управляющего элемента Progress Bar (.линейка прогресса) аналогично использованию вертикальной линейки в элементе управления размерами. Он представляет собой линейку, заполненную прямоугольными блоками. Далее описываются ключевые свойства этого элемента.
    Свойство Align предназначено для автоматического выравнивания положения элемента на экране. Возможные значения этого свойства сведены в следующую таблицу.
 
 
 
 
 
Значение
Описание
0
(Используется по умолчанию.) Размер и положение элемента могут быть произвольными.
1
Линейка расположена наверху формы и имеет ширину, равную ширине формы.
2
То же самое, но линейка расположена снизу от формы.
3
Линейка выровнена по левому краю формы, а ее высота равна высоте формы.
4
То же самое, но линейка выровнена по правому краю формы.
 
 
     
 

    Точно так же, как и в случае с полосой прокрутки, можно, изменяя свойства Min и Мах, установить границы изображаемой линейки прогресса. Свойство Value определяет текущую позицию прогресса.


Совет: Для того чтобы изобразить большее количество блоков внутри линейки, можно уменьшить высоту или увеличить ширину управляющего элемента.

    Рассмотрим пример: пусть необходимо изобразить количество времени, прошедшего с начала какого-нибудь процесса. Для этого создадим элемент управления таймером, метку и линейку прогресса.
    Теперь установим для свойства Min значение 0, а для свойства Мах - значение 60. Свойство Interval для элемента управления таймером следует установить в 1000 (что соответствует 1 секунде). Тогда следующий фрагмент кода будет изображать при помощи линейки прогресса прошедшее время (в секундах).
    Private Sub Timerl_Timer ()
            Static Progress As Integer
            Progress = (Progress + 1) Mod 60
            Labell.Caption = Str$(Progress) & " seconds elapsed."
            ProgressBarl.Value = Progress
    End Sub

Управляющий элемент Slider Control

    Управляющий элемент Slider (бегунок) работает аналогично линейке прокрутки. Он представляет собой небольшую линейку с делениями, по которой может перемещаться бегунок.
    Пользователь может перемещать бегунок обычным перетягиванием или же щелкая мышкой с соответствующей стороны линейки. Для этой пели можно также применять клавиатуру. Так же, как и для линейки прокрутки, ключевыми свойствами являются Мах, Min и Value, что, соответственно, определяет максимальную, минимальную и текущую позицию бегунка. Ключевое событие Scroll возникает всякий раз, когда пользователь перемещает бегунок.

Управляющий элемент Status Bar (строка состояния)

    Управляющий элемент Status Bar представляет собой строку (обычно расположенную в нижней части формы), в которой выводится текущее состояние приложения. (Например, текстовый редактор Microsoft Word использует строку состояния для указания номера текущей страницы, а также для информации о наличии режима вставки или замены, и т.д.). Свойство Align указывает метод выравнивания для строки состояния. Значения этого свойства такие же как и для управляющего элемента Progress Bar. Каждая строка состояния может быть разделена максимум на 16 областей (панелей). При создании строки состояния можно добавлять области, используя страницу Panels.
    При помощи диалоговой панели можно добавить текст или картинку к любой области строки состояния. В процессе работы при использовании метода Add обычно сначала объявляют переменную, описывающую тип панели, а затем используют метод Add, синтаксис которого представлен ниже:

Set PanelObject = NamedfStatusBar.Panels.Add{[index], [key], [text], [style], [picture])

где все параметры являются необязательными. (В силу того, что этот метод не поддерживает именованные аргументы, необходимо использовать кавычки для указания невключаемых элементов.) Параметр index используется для нумерования области. Если этот параметр отсутствует, то по умолчанию данный элемент будет добавлен в конец списка существующих областей. (Так как можно использовать не более 16 областей, то значение параметра index должно находиться в промежутке 1-16). Параметр Key (так же, как и в любой коллекции) представляет собой еще один способ установить ссылку на элемент. Параметр text задает текст для области. Параметр style устанавливает метод вывода информации в строке состояния. Возможные значения этого параметра собраны в следующей таблице.
 
 
 
 
 
Константа
 Описание
SbrText
(Используется по умолчанию.) Позволяет выводить произвольный текст или картинку. Выводимый текст определяется значением свойства text. Вывод картинки осуществляется при помощи метода Load Picture.
SbrCaps
Если клавиша CAPS LOOK была нажата, то слово CAPS выводится отчетливыми символами, в противном случае - слово выводится приглушенным серым цветом.
SbrNum
То же самое, но для клавиши NumLock.
SbrIns
То же самое, но для клавиши Insert.
SbrScrl 
То же самое, но для клавиши ScrollLock.
SbrTime
Служит для вывода текущего времени в текущем используемом системой формате.
SbrDate
Служит для вывода текущей даты в текущем используемом системой формате.
 
 
     
 

    И наконец, необязательный параметр picture задает соответствующее растровое изображение. Например, следующий фрагмент кода:

    Private Sub Form Load()
            Dim MyPanel As Panel
            StatusBar1.Panels(1).Text. = "Default panel exits already"
            Set MyPanel = StatusBarl.Panels.Add(,,, sbrTime)
            Set MyPanel = StatusBarl.Panels.Add(,,"Panel demo")
            Set MyPanel = StatusBarl.Panels.Add(,,,, LoadPicture("C:\VB\ICONS\TRAFFIC\TRFFC01.ICO"))
    End Sub

создает строку состояния.
    Заметим, что приходиться использовать переменные объекта для создания панели с соответствующими свойствами. Однако можно заменить это двумя строками кода, первым шагом создав панель.
    Например:

        MyPanel = StatusBarl.Panels.Add
        MyPanel == StatusBarl.Panels(2).Text = "Panel demo"

    Еще одним свойством, связанным со строкой состояния, является свойство AutoSize. Оно может принимать следующие значения.
 
 
 
 
 
Константы
 Описание
SbrNoAutoSize
(Используется по умолчанию.) Запрещает автоматическую установку размера.
SbrSpring
При изменении размера родительской строки состояния автоматически высчитывается новый размер области. (Ширина области не может быть меньше, чем ширина, определяемая свойством MinWidth окна состояния).
SbrContents
При наличии свободного места размер панели соответствует ширине, необходимой для помещения надписи.
 
 
     
 


Примечание: В некоторых приложениях бывает необходимо размещать только один элемент в строке состояния. (Например, многие программы используют строку состояния для вывода пояснений при выборе какого-либо пункта меню, но при закрытии меню выводят в эту строку информацию общего назначения.) В этом случае необходимо установить для свойства Style значение Simple (константа SbrSimple используется во время выполнения приложения). После этого надо назначить необходимый для вывода текст свойству SimpleText.

Управляющий элемент Tab Strip

    Элемент Tab Strip является еще одним способом создания компонентов, внешний вид которых похож на элемент управления с закладками. Однако в силу того, что он не является контейнером, его использование лишено гибкости, присущей элементу управления с закладками. По этой причине данный элемент здесь не рассматривается.

Управляющий элемент Toolbar

    Элемент Toolbar дает возможность легко встраивать панели инструментов в приложения. Возможности данного средства аналогичны по своему содержанию возможностям элемента Tool Tips (данный элемент будет описан в одном из следующих разделов). Во-первых, свойство Align задает месторасположение панели инструментов. По умолчанию значение свойства Align равно 1 (Top), что помещает панель в верхнюю часть формы.
    Далее, если надо поместить изображение на панель инструментов, то сначала необходимо сохранить его в элементе Image List (это действие доступно как во время проектирования, так и во время выполнения приложения). Следует учесть, что для назначения изображений во время проектирования необходимо, чтобы элемент Image List и панель инструментов были ассоциированы с одной и той же рабочей формой.
    После сохранения изображений в элементе Image List необходимо в качестве значения свойства Image List использовать имя соответствующего элемента. Например, добавим панель инструментов и управляющий элемент Image List на пустую рабочую форму, оставив установленные по умолчанию имена. Теперь, если посмотреть на первую страницу из диалоговой панели Property Pages панели инструментов, то можно увидеть, что выпадающий список Image List показывает элемент Image List 1.
    После того как установлено соответствие для элемента Image List, можно назначить изображение из элемента Image List любым кнопкам, используя страницу (Buttons) диалоговой панели. Это можно сделать, установив нужный номер изображения из Image List в текстовой панели Image. Например, в примере справа второй колонке назначается первое изображение из элемента Image List.
 
Пример: работа с панелью инструментов в процессе выполнения

    Управляющий элемент Toolbar содержит коллекцию из кнопок. Во время выполнения следует использовать методы Add и Remove для добавления и удаления кнопок из панели. Естественно, каждой кнопке соответствует свое событие Button Click, позволяющее производить необходимые действия при нажатии пользователем на кнопку.
    Обычно для использования метода Add необходимо объявить переменную типа Button. Синтаксис метола Add может быть записан следующим образом:

            Set ButtonObject = NameOfToolBar.Button.Add ([index], [key], [caption], [style], [image])

где все параметры являются необязательными. (В силу того, что этот метод не поддерживает именованные аргументы, необходимо использовать кавычки для указания включаемых элементов.)
    Параметр index указывает место расположения кнопки в коллекции. Если этот параметр отсутствует, кнопка автоматически помещается в конец списка. Параметр Key (так же, как и в любой коллекции) представляет собой еще один способ создать ссылку на кнопку. Параметр Caption служит для задания выводимого текста для объекта Button. Свойство style задает способ вывода кнопки. Возможные значения этого свойства представлены в следующей таблице.
 
 
 
 
Константа 
Описание
Tbr Default
(Используется по умолчанию.) Указывает на то, что кнопка является обычной нажимаемой кнопкой (push button).
Tbr Check
Кнопка является кнопкой проверки (check button).
Tbr Button Group
Кнопка принадлежит к группе. Это означает, что данная кнопка не может быть нажата до тех пор, пока нажата другая кнопка группы. В одно и то же время только одна кнопка из группы может находиться в нажатом состоянии.
Tbr Separator
Кнопка представляет собой обычный разделитель, имеющий стандартную ширину в 8 пикселов.
Tbr Placeholter
Кнопка представляет собой разделитель с переменной шириной
 
 
     
 

    И, наконец, параметр image задает ключ или индекс для ассоциации с изображением, предварительно сохраненным в элементе Image List.
    Так же, как и в случае с объектом Panel, можно сначала добавить кнопки, а затем описать их свойства. Например, если надо на этапе проектирования добавить только одну кнопку с надписью "First button", следует воспользоваться следующим фрагментом кода:

        Tooibarl.Buttons.Add
        Toolbarl.Buttons(2).Caption = "Second button"
        Tooibarl.Buttons.Add
        Toolbarl.Buttons(3).Caption = "Third button"

  
 


Примечание: Свойство AllowCustomize позволяет пользователю управлять такими настройками панели инструментов, как выравнивание колонок, скрытие и вывод панели и другими. Соответствующее меню вызывается при двойном щелчке мыши по панели инструментов. Можно запретить подобные действия путем установки значения свойства AllowCustomize в False. Для получения более подробной информации следует обратиться к справочной системе.

Ярлычки ToolTips

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

Управляющий элемент TreeView (просмотр дерева)

    Управляющий элемент TreeView, судя по его названию, позволяет создавать дерево, похожее на используемое в Windows Explorer. Отдельные объекты, составляющие дерево, называются узлами (nodes), и, соответственно, управляющий элемент TreeView содержит коллекцию Nodes. Верхний узел указывается при помощи свойства Root. За дополнительной информацией об управляющем элементе TreeView мы отправляем читателя к справочной системе.

к оглавлению VB   VBScript   VBA   VB7 (.NET)   к 4GL - визуальному программированию

Знаете ли Вы, что электромагнитное и другие поля есть различные типы колебаний, деформаций и вариаций давления в эфире.

Понятие же "физического вакуума" в релятивистской квантовой теории поля подразумевает, что во-первых, он не имеет физической природы, в нем лишь виртуальные частицы у которых нет физической системы отсчета, это "фантомы", во-вторых, "физический вакуум" - это наинизшее состояние поля, "нуль-точка", что противоречит реальным фактам, так как, на самом деле, вся энергия материи содержится в эфире и нет иной энергии и иного носителя полей и вещества кроме самого эфира.

В отличие от лукавого понятия "физический вакуум", как бы совместимого с релятивизмом, понятие "эфир" подразумевает наличие базового уровня всей физической материи, имеющего как собственную систему отсчета (обнаруживаемую экспериментально, например, через фоновое космичекое излучение, - тепловое излучение самого эфира), так и являющимся носителем 100% энергии вселенной, а не "нуль-точкой" или "остаточными", "нулевыми колебаниями пространства". Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution