Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Создание собственных диалоговых окон





Visual Basic позволяет создавать собственные диалоговые окна. Например, необходимо составить процедуру, которая вставляет введенный пользователем однострочный текст с заданным углом наклона и высотой.

В редакторе Visual Basic выбираем: Insert → UserForm. Появляется новый пустой экземпляр модуля формы. С помощью плавающей панели ToolBox рисуем на форме 3 текстовые поля (TextBox) в которые пользователь будет вводить значения, три метки (Label) – комментарии, два счетчика (SpinButton) и две кнопки управления (CommandButton) для выполнения программы или ее отмены.

В диалоговом окне Propertis меняем имя (Name) формы на frmText, надпись (Caption) на «Однострочный текст». В том же окне для трех меток в поле Caption запишем: первая метка – «Высота текста», вторая метка – «Разворот текста», третья метка – «Текст».

Для трех текстовых полей меняем имена (Name) на: txtHeight, txtAngle, txtText.

Для двух кнопок управления меняем имена (Name) на: cmbOk и cmdCancel. Свойство Caption выставим как «Выполнить» и «Отмена».

Входим в окно написания программного кода и в поле General запишем следующий код:

 

Пример 16.

`код для кнопки CmbOK. Форма скрывается. Идет запрос на то чтобы пользователь указал мышью, то место экрана, где будет расположен текст.

 

Privat Sub cmbOK_Click()

Dim Text1 As AcadText

Dim Coord As Variant

Me.Hide

Coord = ThisDrawing.Utility.GetPoint(, «Введите точку:»)

Set Text1 = ThisDrawing.ModelSpace.AddText(Me.txtText, Coord, Me.txtHeight)

Text1.Rotate Cootd, (Me.txtAngle * 3,14) / 180

End Sub

 

`код для кнопки CmbCancel. Форма скрывается и выгружается из памяти.

 

Private Sub cmdCancel_Click()

Me.Hide

Unload Me

End Sub

 

`код для счетчика SpinButton2 при нажатии пользователем которого

`происходит автоматическое уменьшение значения поля txtAngle.

 

Private Sub SpinButton1_SpinDown()

Dim rot As Double

Rot = Val(txtAngle.Text) – 1

If(rot > 359) Tnen



Rot = 0

ElseIf(rot < 0) Then

Rot = 0

End If

txtAngle.Text = CStr(rot)

End Sub

 

`код для счетчика SpinButton2 при нажатии пользователем которого

`происходит автоматическое увеличение значения поля txtAngle.

 

Private Sub SpinButton1_SpinUp()

Dim rot As Double

Rot = Val(txtAngle.Text) + 1

If(rot > 359) Tnen

Rot = 0

ElseIf(rot < 0) Then

Rot = 0

End If

txtAngle.Text = CStr(rot)

End Sub

 

`код для счетчика SpinButton1 при нажатии пользователем, которого

`происходит автоматическое значение поля txtHeight.

 

Private Sub SpinButton2_SpinDown()

Dim Height As Double

Height = Val(txtAngle.Text) – 1

If Height < 1 Tnen Height = 1

txt Height.Text = CStr(Height)

End Sub

 

`код для счетчика SpinButton1при нажатии пользователем, которого

`происходит автоматическое увеличение значения поля txtHeight.

 

Private Sub SpinButton2_SpinГз()

Dim Height As Double

Height = Val(txtAngle.Text) + 1

txt Height.Text = CStr(Height)

End Sub

 

Создание кнопок панели инструментов с закрепленными за ними процедурами VBA

После запуска процедуры Create_ToolBars к последней загруженной группе меню будет добавлена панель инструментов «Line» с двумя кнопками, при нажатии на которые будет запускаться макрос «Line1» и «Line2» (смотри пример 5 и 6).

 

Пример 17.

Public Sub Create_ToolBars()

Dim objMenuGrp As AcadMenuGroup

Dim objTbarCol As AcadToolbars

Dim objTbar As AcadToolbar

Dim objItem As AcadToolbarItem

Dim blnExist As Boolean’

Dim strMacro1 As String

Dim strMacro2 As String

strMacro1 = “_-vbarun Line1”

strMacro2 =”_-vbarun Line2”

set objMenuGrp = ThisDrawing.Application.MenuGroups(0)

set objTbarCol = objMenuGrp.Toolbars

For Each objTbar In objTbarCol

If objTbar.Name = “Line1” Or objTbar.Name = “Line2” Then

blnExist = True

end If

next objTbar

If Not blnExist Then

Set objTbar = objTbarCol.Add(“Line”)

Set objItem = objTbar.AddToolbarButton(“”, “Line1”,_

“MsgBox, strMacro1)

Set objItem = objTbar.AddToolbarButton(“”, “Line2”_

“MsgBox, strMacro2)

objTbar.Visible = True

objTbar.Dock acToolbarDockTop

End If

End Sub

 

Sub Line1()

…..

End Sub

Sub Line2()

…..

End Sub

 

Процедуры Line1 и Line2 можно взять из примеров 5 и 6. Кроме того, если в начале этих процедур перед ключевым словом Sub поставить ключевое слово Public то есть эти процедуры станут видимы процедурой Create_ToolBars из любого модуля данного проекта.

 

Добавление нового меню

Эта процедура добавляет к основным меню AutoCAD выпадающее меню «Линии», в котором два пункта: «Прямая» и «Ломаная».

 

Пример 18.

Public Sub AddVBAMenu2()

Dim objMenuGroup As AcadMenuGroup

Dim objVBAMenu As AcadPopupMenu

Dim objVBAIDE As AcadPopupMenuItem

Dim objItem As AcadToolbarItem

Dim objLine As AcadPopupMenuItem

Dim strMacro1 As String

Dim strMacro2 As String

strMacro1 = “_-vbarun Line1”

strMacro2 =”_-vbarun Line2”

Set objMenuGroup = Application.MenuGroups.Item(0)

Set objVBAMenu= objMenuGrp.Menus.Add(«Линии»)

Set objLine = objVBAMenu.AddMenuItem(objVBAMenu.Count + 1,_

«Прямая», strMacro1)

Set objLine = objVBAMenu.AddMenuItem(objVBAMenu.Count + 1,_

«Ломаная», strMacro2)

objVBAMenu.InsertInMenuBar(ThisDrawing.Application.MenuBar.Count)

`objMenuGroup.Save (acMenuFileCompiled)

 

End Sub

 

Если активизировать строку “`objMenuGroup.Save (acMenuFileCompiled)” то данная процедура запишет это меню в текстовый файл, туда где находятся другие пункты главного меню.

 

 

ЛИТЕРАТУРА.

1. Основы геоинформатики: В 2 кн. Кн.1.Учебное пособие для студентов вузов/Е. Г. Капралов, А. В. Кошкарев, В. С. Тикунов и др. ; Под ред. В. С. Тикунова.- М.: Издательский центр «Академия», 2004.-352с. , с цв. ил.:ил.

2. Основы геоинформатики: В 2 кн. Кн.2.Учебное пособие для студентов вузов/Е. Г. Капралов, А. В. Кошкарев, В. С. Тикунов и др. ; Под ред. В. С. Тикунова.- М.: Издательский центр «Академия», 2004.-480с. , с цв. ил.:ил.

3. Цветков В. Я Геоинформационные системы и тхнологии. М.: Финансы и статистика, 1998.- 288с.: ил.

4. Шайтура С. В. Геоинформационные системы и методы их создания.- Калуга: Издательство Н. Бочкаревой, 1998 г.- 252с. : ил.

5. Эллен Финкельштейн.AutoCAD 2004. Библия пользователя.: Пер. с англ. – М.:Издательский дом «Вильямс»,2004.- 1184с.:ил.-Парал. тит. англ.

6. Visual Basic 6.0. Наиболее полное руководство для профессиональной работы в среде Visual Basic 6.0: Пер. с англ. – СПб: БХВ – Петербург, 2003 – 992 с:ил.

7. Браун С. Visual Basic 6.0. Учебный курс.- СПб.:Питер, 2005 – 574с.:ил.

8. Кузьменко В.Г. VBA 2003. Visual Basic for Application. М.: ООО, «Бином-Пресс», 2004,432с.:ил.

 

 

Литература

1. /Варламов А.А.Земельный кадастр [Текст]. В 7 т т. 6. Географические и земельно-информационные системы: Учебник для студентов землеустроительных специальностей вузов/Варламов А.А., Гальченко С.А.. М.: Колос, 2005,-400c.:ил.; Библиогр:с 394-395.-Предм. указ.:с.396-397.- 3000 экз.-ISBN 5-9532-0144-3(T.6).

2. / Колесниченко О.В Аппаратные средства РС [Текст] / Колесниченко О.В., Шишигин И.В. – 5-е изд. –СПб, БХВ -Петербург, 2004. - 1152c:.ил..; Предм. каз.:1143-1152 – 5000 экз. – ISBN 5- 94157- 257-3.

3. Макарова Н.В. Информатика [Текст].. Учебник для студентов вузов/ Макарова Н..В.[и др.] Под ред. Н.В. Макаровой – 4-е переработанное издание.М.: Финансы и статистика, 2005 – 768с.: ил.-Предм. указ.:с.748-758.- 10000 экз.-ISBN 5-279-02202-0.

4. Основы геоинформатики [Текст]. В 2 кн. Кн. 1. Учеб.е пособие для студентов вузов / Е.Г. Капралов, А.В. Кошкарев, В.С. Тикунов и др. Под ред. В.С. Тикунова. – М.: Издательский центр «Академия», 2004 -352с.,[16]с.цв.ил.:ил. – Библиогр.:336-346.-5100 экз-. ISBN 5-7695-1443-4.

5. Основы геоинформатики [Текст]. В 2 кн. Кн. 2. Учебно.е пособие для студентов вузов / Е.Г. Капралов, А.В. Кошкарев, В.С. Тикунов и др. Под ред. В.С. Тикунова. – М.: Издательский центр «Академия», 2004 -480с.,[8]с.цв.ил.:ил – Библиогр.:469-478.-5100 экз-. ISBN 5-7695-1444-2

6. Дейт К. Дж. Введение в системы баз данных[Текст]. Седьмое издание. Пер. с англ./. Дейт К. Дж – М.: СПб, Киев, издательский дом «Вильямс», 2005. -1072c. – Предм.указ.:1064-1071-5000экз-. ISBN 5-8459-0138-3.

7. Шекхар Шаши. Основы пространственных баз данных [Текст]. Пер. с англ /Шекхар Шаши, Чаупа Санжей - М.: Кудиц-образ, 2004-336с Библиогр. с.310-317.. Предм. указ:.с..322-325-3000 экз.- ISBN 5-13-017480-7

8. Цветков В. Я..Геоинформационные системы и технологии[Текст] / Цветков В. Я.- М.: Финансы и статистика, 1998 -288 с.:ил.- Библиогр: с.266-268.. -5000 экз-

ISBN 5-279-01812-0

9. Питер Джексон. Введение в экспертные системы [Текст] Пер. с англ / Питер Джексон.- М.: СПб. Киев. Издательский центр «Вильямс», 2004-336с. Библиогр :с.597-616.. Предм. указ.:с..617-622-5000 экз.- ISBN 5-8459-0150-2

. 10. Леонтьев В.П. Новейшая энциклопедия персонального компьютера[Текст] / Леонтьев В.П..- М.: «ОЛМА-ПРЕСС»,2003-957c:ил. -20000 экз.- ISBN 5-224-04035-3

. .11.Картография. Геоинформационные системы[Текст] /Под ред Берлянта А. М. и Тикунова В. С..- М.:Картгеоцентр-Геодезиздат,1994-350 с. Библиогр.: с.346-348..- 5000 экз.- ISBN 5-8459-0123-2

 

 

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.