Создание заставки приложения
Создание заставки приложения

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

Рисунок У14.3. Пример заставки приложения
При многократном использовании приложения появление подобной заставки может начать действовать на пользователя, как красная тряпка на быка, поэтому, чтобы не злоупотреблять терпением и временем пользователя в подобных случаях, необходимо предусмотреть режим отказа от вывода заставки при активизации документа. Естественно, программа должна хранить где-то информацию о режиме работы: с заставкой или без нее. Эту и подобную информацию об установках режимов работы приложения обычно хранят в создаваемых дополнительно ini-файлах.
Рассмотрим простейший пример создания заставки приложения (Рисунок У14.3).
На стандартном листе модуля наберите приведенную ниже процедуру, которая позволит запустить диалоговое окно заставки. В области описания переменных уровня модуля описывается пользовательский тип, используемый при записи информации о режиме работы приложения в файл Файл.INI.
'
' Переменные уровня приложения '
Туре ФАЙЛ_INI
Информация As String * 30 Код As Boolean
End Type '
Public Заставка As ФАЙЛ_INI
'
Sub ПоказатьЗаставку() '
With UserForml
.Picture = LoadPicture("c:\my_doc\book_ex\bhv.bmp")
.PictureAlignment = fmPictureAlignmentCenter
.PictureSizeMode = fmPictureSizeModeZoom
.Caption = "Пример заставки"
.BorderColor = vbBlue
.BorderStyle = fmBorderStyleSingle
.CheckBoxl.BackColor = vbWhite .Show
End With
'
End Sub
На листе модуля UserForm1 наберите следующую процедуру, которая при закрытии заставки позволит считать из флажка не отображать выбранный пользователем режим работы для следующего открытия приложения.
Private Sub UserFormJIerminate()
Open "Файл.INI" For Random As #1
Len = Len(Заставка)
With Заставка
.Информация = "Отображать заставку:"
If CheckBoxl.Value = False Then .Код = False
End If
If CheckBoxl.Value = True Then .Код = True
End If End With
Put #1, 1, Заставка Close #1
End Sub
На листе модуля ThisWorkbook наберите следующую процедуру, которая при открытии рабочей книги в зависимости от указанного в файле Файл.INI режима либо будет отображать заставку, либо нет.
Private Sub Workbook_Open()
Open "Файл.INI"
For Random As #1
Len = Len(Заставка)
Get #1, 1, Заставка
Close #1
If Заставка.Код = False Then ПоказатьЗаставку
End Sub