Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
T-FLEX CAD - Руководство пользователя / T-FLEX CAD. Руководство. Основы. 2D проектирование и черчение.pdf
Скачиваний:
425
Добавлен:
16.05.2015
Размер:
18.16 Mб
Скачать

Макросы

При необходимости можно просмотреть автоматически генерируемый код создания графического изображения формы. Это можно сделать с помощью команды “Посмотреть Дизайн (код)” в контекстном меню для данной формы в окне “Проект”. Окно кода дизайна формы открывается также в рабочем окне редактора макросов. Заголовок окна включает в себя название формы с уточнением в скобках – “(Дизайн)”.

Название окна кода дизайна формы совпадает с названием окна формы. Различаются они иконками: – у окна формы, – у окна кода дизайна формы.

После размещения всех необходимых элементов формы можно переходить к заданию кода формы.

Написание процедур для элементов управления в формах

После размещения элементов управления в формах необходимо связать эти элементы с кодом.

Код формы создаётся в отдельном окне, аналогичном окну кода модуля. В заголовке окна указано имя формы с уточнением в скобках – “(Код)”.

Вызвать это окно можно тремя способами:

В окне “Проекты” из контекстного меню для выбранной формы вызвать команду “Открыть код”. При этом будет открыто окно с кодом формы, в которое можно добавлять процедуры обработки событий для элементов управления в этой форме.

Вызвав команду “Открыть код” из контекстного меню для любого элемента управления формы.

По на элементе управления в форме. При этом в открывшемся окне будет автоматически создана процедура обработки управляющего метода для соответствующего элемента. События для каждого элемента управления задаются по умолчанию.

Переключаться между окном формы и окном кода можно либо при помощи команд контекстного меню для этой формы (“Открыть дизайн”, “Открыть код”), либо при помощи соответствующих закладок, расположенных вверху рабочего окна редактора макросов.

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

Код формы обычно состоит из процедуры инициализации формы (она создаётся автоматически при первом открытии окна кода формы) и процедур обработки событий элементов управления формы.

Для создания процедуры обработки события для объекта формы необходимо выбрать требуемый элемент, переключить окно “Свойства” в режим “События”, выбрать в списке нужное событие и

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

845

Основы. Двухмерное проектирование

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

Пример макроса с экранной формой

Рассмотрим пример макроса, написанного на языке программирования Visual Basic. При выполнении макроса создаётся отрезок между двумя 2D узлами. Координаты этих узлов задаются в диалоге.

Первоначально, в проекте “CreateLine.grb” была создана форма “LineForm” и на ней размещены элементы управления, в которых будут задаваться координаты 2D узлов. В форму был добавлен элемент управления – кнопка, при нажатии на которую будет запускаться функция, создающая 2D узлы и отрезок между ними.

После размещения элементов управления на форме нужно создать обработку события нажатия на элемент управления – кнопку. Для этого следует выбрать этот элемент в форме, перейти в окно

“Свойства” и в этом окне установить режим событий . В правой колонке события “Click” нажмите , при этом будет создана процедура “button1_Click”. Такого же эффекта можно было добиться, нажав на элементе управления – кнопка.

846

Макросы

В открывшемся окне кода формы нужно написать процедуру “button1_Click”.

На рисунке ниже показано окно кода формы, с функцией “button1_Click”, в которой переменным “X1”, “Y1”, “X2” и “Y2” присваиваются значения из элементов управления – редакторов textBox1, textBox2, textBox3 и textBox4, и вызывается функция (макрос) “CreateLine”.

847

Основы. Двухмерное проектирование

После этого создайте в Проекте модуль. Код модуля будет состоять из двух функций. Функция “ShowDialog” (стандартная функция среды разработки) будет отображать экранную форму после запуска макроса. Функция “CreateLine”, которая была определена, создаёт 2D узлы, координатами которых являются значения, заданные пользователем через диалог формы “LineForm”, и отрезок между этими узлами. Код этого модуля представлен ниже.

'Объявление ссылок

Imports System

Imports TFlex Imports TFlex.Model

Imports TFlex.Model.Model2D

‘Объявление пространства имён

Namespace NewMacroNamespace

‘Объявление класса

Public Class NewMacroClass

‘Функция, которая будет отображать экранную форму “form” после запуска

Public Shared Sub ShowDialog()

Dim form As Form1Namespace.LineForm form = new Form1Namespace.LineForm() form.ShowDialog()

End Sub

‘Функция с параметрами (макрос), создающая линию изображения между двумя 2D узлами. ‘Координаты этих узлов приходят в функцию как параметры из диалога

Public Shared Sub CreateLine(ByVal NodeX1 As String, ByVal NodeY1 As String, ByVal NodeX2 As String, ByVal NodeY2 As String)

Dim document As Document

document = TFlex.Application.ActiveDocument ‘Открытие блока изменения документа

document.BeginChanges("Создание линий изображения")

‘Создание объектов линии изображения и 2D свободных узлов

Dim line As ConstructionOutline Dim node1 As FreeNode

Dim node2 As FreeNode

Dim X_1, Y_1, X_2, Y_2 As Double

X_1 = System.Convert.ToDouble(NodeX1)

Y_1 = System.Convert.ToDouble(NodeY1)

X_2 = System.Convert.ToDouble(NodeX2)

Y_2 = System.Convert.ToDouble(NodeY2)

848