Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Робота з прапорцями
Наступний приклад показує, як працюють прапорці в усіх трьох станах: 1. Створіть новий проект командою File > New Project. 2. У вікні властивостей заміните значення властивості Name з Form1 на frmMain. 3. Помістите на форму прапорець. Задайте його властивості Name значення chkOptions, а властивості Caption - текст задайте «начинку для сандвіча»:. 4. Двічі клацніть на прапорці chkOptions, щоб відкрити вікно програми. Виберіть із списків об'єктів і процедур рядка (General) і (Declarations) і додайте наступний фрагмент:
Public PeanutButter As Boolean Public Jelly As Boolean
5. Додайте в процедуру події MouseUp події chkOptions наступний фрагмент: Private Sub chkOptions_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As, Single) frmOptions.Show vbModal If PeanutButter And Jelly Then chkOptions.Value = 1 Exit Sub End If If PeanutButter Or Jelly Then chkOptions.Value = 2 Exit Sub End If
If PeanutButter And Not Jelly Then chkOptions.Value = 3 Exit Sub End If End Sub
6. Клацніть у вікні проекту правою кнопкою миші і виберіть з контекстного меню команду Add > Form. Виберіть нову форму (значок Form) у вікні Add Form. 7. У вікні властивостей задайте властивості Name нової форми значення frmOptions, а властивості Caption - значення Set Options. 8. Створіть на формі frmOptions прапорець. Задайте властивості Name значення chk - PeanutButter, а властивості Caption - значення Арахісове масло. 9. Створіть на формі ще один прапорець. Задайте властивості Name значення chkJelly, а властивості Caption - значення Мармелад. 10. Двічі клацніть на формі frmOptions, щоб відкрити вікно програми. Додайте в процедуру події Load форми наступний фрагмент:
Private Sub Form_Load() If frmMain.PeanutButter Then ChkPeanutButter.Value = 1 Else chkPeanutButter.Value = 0 End If If frmMain.Jelly Then chkJelly.Value = 1 Else chkJelly.Value = 0 End If End Sub 11. Додайте в процедуру події Click перемикача chkPeanutButter наступний фрагмент:
Private Sub chkPeanutButter_Click() If chkPeanutButter.Value = 1 Then frmMain.PeanutButter = True Else frmMain.PeanutButter = False End If End Sub
12. Додайте в процедуру події Click перемикача chkJelly наступний фрагмент:
Private Sub chkJelly_Click() If chkJelly.Value = 1 Then frmMain.Jelly = True Else frmMain.Jelly = False End If End Sub
13. Запустіть додаток командою Run > Start. Якщо тепер клацнути на прапорці, що знаходиться на формі frmMain, відкривається діалогове вікно, в якому можна вибрати «начинку для сандвічу», - арахісове масло і мармелад. Одні віддають перевагу сендвічам із двома видами начинки, інші обмежуються чимось одним. Якщо встановити обидва прапорці і закрити діалогове вікно, то прапорець на формі буде встановлений, а якщо вибрати лише один прапорець (арахісове масло або мармелад), він знаходитиметься в невизначеному стані. Якщо взагалі відмовитися від начинки, прапорець буде знятий. Рамки Рамки (див. малюнок) зазвичай використовуються не самі по собі, а у поєднанні з іншими елементами. Усередині рамок розміщуються такі елементи, як перемикачі Я або прапорці. Вони групуються і у разі переміщення рамки переміщаються разом з нею. Щоб помістити елемент (скажімо, перемикач) всередину рамки, не можна скористатися традиційним способом (двічі клацнути на нім і перетягнути в потрібне місце). Замість цього необхідно один раз клацнути на кнопці елементу в панелі елементів і перетягнути його всередину рамки. Після цього внутрішні елементи переміщатимуться разом з рамкою. Крім того, рамки використовуються для угрупування перемикачів - якщо встановити один перемикач під час виконання програми, то усі інші перемикачі групи автоматично знімаються. Якщо випадковим чином розкидати перемикачі, вони діятимуть як одна велика група. Щоб розподілити їх по групах, слід вдатися до допомоги рамок. Перемикачі, що знаходяться усередині рамки, працюють як самостійна група і не впливають на стан перемикачів в інших рамках. Хоча рамки нерідко використовуються для угрупування прапорців, кожен прапорець працює самостійно. Отже, установка одного прапорця ніяк не відбивається на стані інших прапорців тієї ж групи. Така поведінка цілком логічна - прапорці не є взаємовиключними елементами (тоді як перемикачі усередині однієї групи, навпаки, залежать один від одного). Прапорці групуються усередині рамок, щоб не переміщати їх в режимі конструювання окремо. Крім того, рамка допомагає візуально об'єднати прапорці. Наприклад, прапорці, що відносяться до різних можливостей програми, можна розташувати в різних рамках. Імена рамок зазвичай мають префікси fга. Рамки повинні поміщатися на форму раніше елементів, що знаходяться усередині них.
|