Работа с многопанельной строкой статуса

End Sub

End If

Next i

End Sub

End Sub

Public StrBar(1 To 5) As String

Option Private Module

Работа с простой строкой статуса

Перевод строки статуса в режим простой строки с одной панелью выполняется на стадии проектирования или во время выполнения программы оператором

имя_строки_статуса.Style=1,

который можно поставить в любом месте кода программы.

Вывод сообщения в строку статуса может выполняться так же на стадии проектирования формы установкой свойства SimpleText или на стадии выполнения программы операторами

имя_строки_статуса.SimpleText="текст_сообщения"

или

имя_строки_статуса.SimpleText=имя_массива_строк(индекс элемента)

которые можно также поставить в любой точке кода программы.

При желании строку статуса можно убрать с экрана установкой свойства Visible в состояние False. Пример управления строкой статуса с одной панелью приведен на рис. 4.30. Объекту StatusBar присвоено имя StBar1, а объекту CommandButton – CBP.

Модуль OpStBar

Public Sub StrInit()

StrBar(1) = "Это первая подсказка" : StrBar(2) = "Это вторая подсказка"

StrBar(3) = "Это третья подсказка" : StrBar(4) = "Это четвертая подсказка"

StrBar(5) = "Это пятая подсказка"

Форма Form1

Private Sub Form_Load()

Call OpStBar.StrInit'инициализация массива подсказок

StBar1.Style = 1 : StBar1.SimpleText = OpStBar.StrBar(1)

Private Sub CBP_Click()

Dim i As Integer : Dim j As Integer

For i = 1 To 5'вычисление номера текущей подсказки

If StBar1.SimpleText = OpStBar.StrBar(5) Then j = 0: Exit For

If StBar1.SimpleText = OpStBar.StrBar(i) Then j = i: Exit For

If j < 5 Then'вывод подсказки

j = j + 1

StBar1.SimpleText = OpStBar.StrBar(j)'это текст панели

Рис. 4.30. Текст программы, управляющей строкой статуса с одной панелью

 

Для включения указанного режима работы строки статуса достаточно установить ее параметр Style=0 на стадии проектирования или выполнения программы. Число панелей можно регулировать только на стадии проектирования формы с помощью окна Property Pages, вызываемого свойством Custom. На вкладке Panels можно создать нужное число панелей и указать их следующие свойства:

· Index – номер панели в строке статуса,

· Text – текст панели,

· Pictury – помещаемый в панель рисунок,

· Style – стиль панели (0 – текст, 1 – состояние клавиши CAPS,
2 – состояние клавиши NumLock, 3 – состояние клавиши Insert, 5 – время, 6 – дата),

· Bevel – объемность панели (0 – плоская, 1 – вдавленная, 2 – выпуклая),

· AutoSize – автоматическое определение длины (0 – нет, 2 – по длине текста),

· Key – строка, по которой панель будет опознаваться при щелчке мыши по строке статуса.

Эти свойства доступны и при проектировании формы, и во время выполнения программы. Например, параметр Text для панели можно задать оператором

StBar1.Panels(индекс панели).Text = "тест панели"

Пояснения требует и прием "Распознавание номера панели при щелчке мышью по строке статуса". При наступлении этого события вызывается обработчик PanelClick(Panel), который передает внутрь процедуры параметр Panel. Распознать выбранную для работы панель можно по параметрам панели Index или Key операторами ветвления программы:

If Panel.Index = <число> Then . . .или If Panel.Key = "ключ" Then . . .

Распознавание панели, выбранной для работы, производится по ее номеру Index или по ключу Key, которые передаются в процедуру PanelClick автоматически. Оба способа распознавания выбранной панели равноценны, но второй более информативен. Текст программы, управляющей строкой статуса с двумя панелями приведен на рис. 4.31.

Форма Form1

Private Sub Form_Load()