ListBox, ScrollBar и SpinButton
Содан кейін кодты реттеу терезесінде CheckBox1 жалаушасын қою үшін мынаны жазамыз:
Private Sub CheckBox1_Click()
If CheckBox1.Value Then
ListBox2.ListStyle = fmListStyleOption
Else
ListBox2.ListStyle = fmListStylePlain
End If
ListBox2.Height = 170
End Sub
Бұл процедура CheckBox1 жалаушасын тексереді. Бұл жалауша қойылса, ListBox2 тізімі мәнері fmListStyleOption параметріне орнатылады (қосқыштар көрсетіледі). Әйтпесе, fmListStylePlain стилі орнатылады (қосқыштар жоқ).
Алғашқы екі батырма (Тізімдегілерді толтыру және Тізімді тазалау) үшін келесі процедуралар тағайындалады:
Private Sub CommandButton1_Click() 'ListBox2 объектіын қолдану
With ListBox2
Мазмұндарды тазалаңыз
.Clear
Жолдарды қосу
For i = 1 To 12
.AddItem "Строка "& i
Next i
End With
End Sub
Private Sub CommandButton2_Click()
Тізімнің мазмұнын тазалаңыз
ListBox2.Clear
End Sub
Қосқыштар үшін тізімдегі жолдарды қалай таңдау керектігін анықтайтын келесі процедураларды жазамыз:
Private Sub OptionButton1_Click() 'Бір жолды таңдау
ListBox2.MultiSelect = fmMultiSelectSingle
End Sub
Private Sub OptionButton2_Click()
Тізімде бірнеше жолдарды таңдау
ListBox2.MultiSelect = fmMultiSelectMulti
End Sub
Private Sub OptionButton3_Click()
Ctrl немесе Shift пернелер тіркесімін пайдаланып тізімдегі бірнеше жолдарды таңдау
ListBox2.MultiSelect = fmMultiSelectExtended
End Sub
Үшінші батырма үшін (Таңдалған деген не?) таңдау режимін тексеру процедурасы тағайындалады.
Егер коммутатор fmMultiSelectSingle бір жолды режимін таңдаса, таңдалған жолдың мәні немесе «Таңдалған ештеңе жоқ» хабары болмаса көрсетіледі. Егер басқа режим (бірнеше таңдау) қосылған болса, тізімнің барлық жолдары сканерленеді және таңдалған жолды тапқан жағдайда ListFlag айнымалы True күйіне орнатылады. Содан кейін таңдаудың бар-жоқтығы: егер True болса, экранда хабарлама - таңдалған жолдың мәні, егер False болса, ештеңе таңдалмаған хабар. Тиісті код келесідей:
PrivateSubCommandButton3_Click()
Таңдауды тексеру
DimListFlagAsBoolean
Dim x As Integer
ListFlag = False
With ListBox2
If .MultiSelect = fmMultiSelectSingle Then
If .Text = "" Then
MsgBox " Ештеңе таңдалған жоқ "
Else
MsgBox .Value
End If
Else
For x = 0 To .ListCount - 1
If .Selected(x) = True Then
ListFlag = True
End If
Next x
Select Case ListFlag
Case Is = False
MsgBox "Ештеңе таңдалған жоқ "
Case Is = True
For x = 0 To .ListCount - 1
If .Selected(x) Then
MsgBox .List(x)
End If
Next x
End Select
End If
End With
End Sub
Сол параққа екі ActiveX элементтерін ScrollBar және бір SpinButton қоямыз. Барлық элементтер үшін максималды және ең аз мәнді орнатыңыз (Min = 0 және Max = 100).
Бірінші айналдыру жолағына M13 байланысты ұяшығын орнатыңыз, 26-суретте LinkedCell сипатын өзгертіңіз.
Екінші жылжыту жолағында, Change оқиғасына жауап беру процедурасын жасаймыз. Модульдік кодты өңдеу терезесінде келесі кодты жазайық:
Private Sub ScrollBar2_Change()
MsgBox ScrollBar2.Value
End Sub
Есептегіш үшін M17 байланысқан ұяшықты да анықтаймыз.
F3 байланысқан ұяшықтағы бірінші жылжыту жолағының жүгірткісін жылжытқан кезде, тиісті ауқымның мәнін көрсетілген ауқымнан көресіз.
Екінші жылжыту жолағының жүгірткісін жылжытқан кезде, көрсетілген жолақтан тиісті слайдер мәні хабарлама жолағында пайда болады.
Есептегіштің сол немесе оң жақ көрсеткі батырмалары B11 байланысқан ұяшығында басылған кезде, тиісті санауышы көрсетілген ауқымнан шығуы керек.
Тапсырма 2. ListBox, ScrollBar және SpinButton элементтерімен жұмыс істеу
1. Жасалған бағдарламалық кодтарды тексеріңіз.
2. Жылжыту жолағы мен есептегішті басқару пішінінің элементтері ретінде енгізіңіз. Өздерінің жұмысын тиісті ActiveX басқару элементтерімен салыстыру.
3. CommandButton1_Click макросын өзгертіңіз, сонда ListBox2 тізімі List-Box1 ішіндегі жол нөмірімен бірге қосады.
Бақылау сұрақтары:
1. Форма дегеніміз не? Пішіндердің түрлерін көрсетіңіз
2. Басқару элементтері қандай?
3. Объектілерге макростар мен гиперсілтемелер салу
4. Бағдарламадағы ажыратқыштар дегеніміз не?
5. Бағдарламалық кодтар бұл?
Достарыңызбен бөлісу: |