Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Sub. Public Sub Long1(ByVal f As Single, c As Boolean)




Public Sub Long1(ByVal f As Single, c As Boolean)

Пример работы с коллекцией объектов, свойствами и методами объектов.

Пример динамического способа формирования объектов на форме VB.

пример:Динамически сформ-ть объекты на форме VB/

Dim Text1 As TextBox,Text2 As TextBox,Text3 As TextBox

'объекты Text1 и Text2,Text3 не будут сод-ть события

Dim WithEvens Command1 As CommandButton

Private Sub Form_Load()

Me.ScaleMode=3 Режим-пиксели для объектов формы

End Sub

Private Sub Form_Unload(Cancel As Integer)

Set Command1=Nothing

Set Text1=Nothing

Set Text2=Nothing

Set Text3=Nothing

End Sub

Private Sub Form_Activate()

MsgBox "мы сформировали дин-кую форму в среде VB"

End Sub

Private Sub Form_Initialize()

Me.Width=4000 для формы размеры задаются в твипах

Me.Height=2600 при разрешении экрана 1280*1024 точек

Set Text1=Controls.Add("VB.TextBox","T1",Form1)

Set Text2=Controls.Add("VB.TextBox","T2",Form1)

Set Text3=Controls.Add("VB.TextBox","T3",Form1)

Set Command1=Controls.Add ("VB.CommandButton","Cmd1",Form1)

Text1.Visible=True

Text2.Visible=True

Text3.Visible=True

Command.Visible=True

Command1.FontBold=True

Text1.FontBold=True

Text2.FontBold=True

Text3.FontBold=True

Text1.Left=12 Размеры эл-ов на форме в пикселях

Text1.Top=6

Text1.Width=270

Text1.Height=18

Text2.Left=12

Text2.Top=36

Text2.Width=270

Text2.Height=18

Text3.Left=12

Text3.Top=66

Text3.Width=270

Text3.Height=18

Command1.Left=45 Command1.Top=100

Command1.Width=200

Command1.Height=40

Command1.Caption="Вычислить выражение"

End Sub

Private Sub Command1_Click()

Dim a As Double,b As Double,c As Double

On Error GoTo 100

a=Text1

b=Text2 c=a*b

Text3=c

Exit Sub

MsgBox "Вы уверены,что ввели значения в текстовые поля?",vbQuestion,_"Динамическая форма" End Sub

Пример 59. Объявить событие в модуле класса, а запрограммировать его в модуле формы.

 

Пусть событие (назовем его MTS) имеет два параметра. Первый – числовой, второй – логический. Событие будет реализовываться в методе Long1. Выполните следующие действия.

· Создайте новый проект с шаблоном Standard EXE.

· С помощью команды Project\Add Class Module добавьте модуль класса с именем Class1 в проект, используя шаблон Class Module на закладке New.

· Поместите в него следующий код.

Public Event MTS(ByVal Percent As Single, ByRef Cancel As Boolean)

RaiseEvent MTS(f, c) 'Вызов события MTS с двумя параметрами

 

· Теперь добавьте в область GD окна Code модуля формы следующий код:

 

Private WithEvents mW As Class1, nCancel As Boolean, r As Single

'Ключевое слово WithEvents означает, что объект mW содержит события

Private Sub Command1_Click()

nCancel = False

r = Rnd

Set mW = New Class1 'Создание нового объекта на основе класса

Call mW.Long1 (r, nCancel) 'Обращение к методу Long1

Text2 = nCancel 'Выводим значение, возвращаемое из события

Set mW = Nothing




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 490; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.