Курсовая работа: Разработка прикладного программного обеспечения отдела кадров университета
После создания формы и всех объектов на ней необходимо написать код обработки событий для этих объектов. Для автозапуска стартовой формы необходимо создать обработчик события AcadDocument_Activate(), которое выполняется при активации документа. Для этого в окне Project дважды кликаем на ThisDrawing и перед нами откроется окно редактирования кода. Над ним расположено 2 раскрывающихся списка. В левом выбираем AcadDocument, а в правом – Activate и автоматически создастся обработчик этого события. В него пишем следующий код:
Private Sub AcadDocument_Activate()
StartForm.Show 'При активации документа показываем стартовую форму
End Sub
Теперь при активации документа появится стартовая форма.
Моё приложение работает в двух режимах: пользователя и конструктора. Путь к базе данных изначально устанавливается автоматически в той же директории, что и файл чертежа. Также можно выбрать другой путь к базе данных, нажав на кнопку открытия. При выборе режима конструктора осуществляется переход к Автокаду и никакой код не выполняется. При выборе пользовательского режима блокируются все слои, кроме слоя Блоков, дабы избежать потери графической информации. За выбор режима отвечает следующий код:
Далее если пользователь зашел в пользовательский режим, то ему предоставляется выбор из трёх объектов на чертеже. При нажатии на какой-либо из объектов выскакивает сообщение с краткой информацией об объекте и предложением просмотреть более подробную информацию.
Это реализуется в ThisDrawing в обработчике события
AcadDocument_SelectionChanged() (изменение выбора) следующим образом:
If ThisDrawing.PickfirstSelectionSet.count > 0 Then 'Проверяем, выбрано ли что-либо
Set objGen = ThisDrawing.PickfirstSelectionSet.Item _
(ThisDrawing.PickfirstSelectionSet.count - 1) 'Если выбрано то устанавливаем objGen как последний выбранный объект
If objGen.ObjectName = "AcDbBlockReference" Then 'Проверяем, является ли выбранный объект блоком
Select Case objGen.Name 'Проверяем, какой объект выбран
Case 1
If MsgBox("Выбрана Библиотека" & vbCr & "Показать информацию об этом помещении?", _
vbOKCancel, "Выбрано помещение") = vbOK Then 'Выдаем сообщение и запрос на вывод информации
ShowInf = True 'Показать информацию
End If
ID = 1 'Устанавливаем номер выбранного помещения
Case 2
If MsgBox("Выбран Деканат" & vbCr & "Показать информацию об этом помещении?", _
vbOKCancel, "Выбрано помещение") = vbOK Then
ShowInf = True
End If
ID = 2
Case 3