- •5.05150104 "Дизайн друкованої продукції"
- •Урок 1. Перше знайомство з Visual Basic
- •Вивчається ide
- •Мал. 1.2. Інтегроване середовище розробки (ide) Visual Basic.
- •Головне меню
- •Панель інструментів
- •Мал. 1.3. Панель інструментів Visual Basic.
- •Переміщення кнопки на панелі інструментів
- •Видалення і вставка команд меню
- •Вікно проекту
- •Мал. 1.4. Вікно проекту.
- •Вікно властивостей
- •Логічні властивості
- •Властивості з фіксованим набором значень
- •Строкові властивості
- •Шістнадцяткові властивості
- •Файлові властивості
- •Властивості розміру
- •Вікно макету форми
- •Панель елементів
- •Мал. 1.7. Панель елементів Visual Basic із стандартними елементами. Впорядкування панелі елементів
- •Видалення елементу з панелі
- •Мал. 1.8. Конструктор форм.
- •Вікно перегляду об'єктів
- •Мал. 1.9. Вікно перегляду об'єктів. Вивчайте редактор Visual Basic!
- •Робота з декількома проектами
- •Мал. 1.10. Вікно програми Visual Basic.
- •Налаштування ide
- •Вкладка Editor
- •Мал. 1.11. Вкладка Editor.
- •Вкладка Editor Format
- •Мал. 1.12. Вкладка Editor Format. Вкладка General
- •Вкладка Docking
- •Мал. 1.14. Вкладка Docking. Наше перше застосування
- •Додаток Hello World
- •Puc. 1.17. Процедура у вікні програми.
- •Що нового ми дізналися?
- •Урок 2. Робота з формами
- •Анатомія форми
- •Мал. 2.1. Об'єкт-форма.
- •Кнопка закриття
- •Робота з властивостями форм
- •Допомога знаходиться зовсім близько
- •Властивість BackColor
- •Властивість Border - Style
- •Властивість Caption
- •Властивість ControlBox
- •Властивість ForeColor
- •Властивість Height
- •Властивість Icon
- •Властивість Left
- •Властивість MaxButton
- •Властивість MinButton
- •Властивість Name
- •Властивість ScaleMode
- •Властивість ShowInTaskbar
- •Властивість Width
- •Властивість WindowState
- •Налаштування властивостей форми
- •Мал. 2.2. Додавання нового фрагмента в процедуру.
- •Мал. 2.3. Зміна властивості Caption. Новий варіант програми
- •Виправлення помилки
- •Мал. 2.4. Робота з властивістю Caption.
- •Мал. 2.5. Зміна процедури Load.
- •Події форм
- •Мал. 2.6. Список подій, пов'язаних з формою. Отримання довідки по подіях
- •Коли використовуються Load/Unload і Activate/Deactivate
- •Методи форм
- •Робота з багатодокументними (mdi) формами
- •Мал. 2.7. Декілька документів в батьківському вікні-контейнері.
- •Створення mdi - додатки
- •Мал. 2.8. Редактор меню.
- •Нова версія mdi - додатки
- •Розшифровка програми
- •Мал. 2.9. Вдосконалене mdi – додаток.
- •Використання Form Wizard
- •Мал. 2.11. Діалогове вікно About, створене
- •Що нового ми дізналися?
- •Урок 3. Вибір і використання управляючих елементів
- •Перше знайомство з елементами, що управляють
- •Мал. 3.1. Панель елементів Visual Basic. Кнопки
- •Властивості кнопок
- •Події кнопок
- •Методи кнопок
- •Робота з кнопками
- •Мал. 3.2. Робота з кнопками.
- •Текстові поля
- •Властивості текстових полів
- •Події текстових полів
- •Методи текстових полів
- •Робота з текстовими полями
- •Мал. 3.3. Робота з текстовими полями
- •Мал. З.4. Виділений фрагмент у властивості SelText. Написи
- •Призначення клавіш прискореного виклику для написів
- •Властивості написів
- •Події написів
- •Методи написів
- •Робота з написами
- •Мал. 3.5. Напис на формі. Перемикачі
- •Властивості перемикачів
- •Події перемикачів
- •Методи перемикачів
- •Мал. 3.6. Діалогове вікно Options. Прапорці
- •Властивості прапорців
- •Мал. 3.7. Прапорці, що знаходяться в невизначеному стані, виділені сірим кольором. Події прапорців
- •Методи прапорців
- •Мал. 3.8. Діалогове вікно Check Box Example.
- •Робота з прапорцями
- •Властивості рамок
- •Події рамок
- •Методи рамок
- •Мал. З.9. Рамка. Список
- •Властивості списків
- •Події списків
- •Методи списків
- •IstListl.Addltem «Привіт»
- •IstListl.Addltem «Привіт», 3
- •Робота із списками
- •Комбіновані поля
- •Властивості комбінованих полів
- •Події комбінованих полів
- •Методи комбінованих полів
- •Мал. 3.10. Список і комбіноване поле.
- •Робота із списками і комбінованими полями
- •Малюнки
- •Властивості малюнків
- •Події малюнків
- •Методи малюнків
- •Робота з малюнками
- •Мал. 3.11. Робота з малюнками.
- •Графічні поля
- •Властивості графічних полів
- •Події графічних полів
- •Методи графічних полів
- •Таймери
- •Властивості таймерів
- •Події таймерів
- •Методи таймерів
- •Робота з таймером
- •Смуги прокрутки
- •Властивості смуг прокрутки
- •Події смуг прокрутки
- •Методи смуг прокрутки
- •Робота із смугами прокрутки
- •Списки дисків
- •Властивості списків дисків
- •Події списків дисків
- •Методи списків дисків
- •Списки каталогів
- •Властивості списків каталогів
- •Події списків каталогів
- •Методи списків каталогів
- •Списки файлів
- •Мал. 3.14. Списки дисків, каталогів і файлів.
- •Властивості списків файлів
- •Події списків файлів
- •Методи списків файлів
- •Робота із списками файлів
- •Мал. 3.15. Додаток WinSeek.
- •Додавання інших елементів на панель
- •Мал. 3.17. Додавання нових елементів.
- •Інтерфейс в стилі Windows xp
- •Мал. 3.18. Провідник Windows.
- •Властивості дерев
- •Мал. 3.19. Сторінки властивостей дерева.
- •Вкладка General
- •Мал. 3.20. Відстежування повного тексту вузлів. Події дерев
- •Методи дерев
- •Табличні списки
- •Властивості табличних списків
- •Мал. 3.21. Властивості табличного списку.
- •Вкладка General
- •Вкладка Image Lists
- •Вкладка Sorting
- •Вкладка Column Headers
- •Події табличних списків
- •Методи табличного списку
- •Списки зображень
- •Властивості списків зображень
- •Події списків зображень
- •Методи списків зображень
- •Всі разом
- •Мал. 3.22. Форма Object Explorer в режимі конструювання.
- •Рядок стану
- •Властивості рядків стану
- •Події рядків стану
- •Методи рядків стану
- •Робота з рядком стану
- •Мал. 3.24. Рядок стану в програмі Object Explorer. Що нового ми дізналися?
ВМал. 3.3. Робота з текстовими полями
становлюючи різні перемикачі в
рамці, можна виконувати деякі операції
з лівим текстовим полем. Властивість
Multiline правого поля встановлена в True, в
цьому неважко переконатися за зовнішнім
виглядом тексту. У додатках, що працюють
з текстами, нерідко використовуються
текстові поля з активізованими
властивостями Multiline і ScrollBars. У таких
випадках текстове поле розтягується
на усю форму, а її розмір фіксується
(властивістю BorderStyle). Якщо форма повинна
мати змінні розміри або є дочірньою
формою інтерфейсу MDI, вам доведеться
динамічно змінювати розміри текстового
поля при зміні розмірів форми. Наприклад,
можна включити наступний фрагмент в
процедуру події Resize форми:
txtText1.Top = frmForm1.ScaleTop
txtText1.Left = frmForm1.Scaleleft
txtText1.Width = frmForm1.Width
txtText1.Height = frmForm1.ScaleHeight
Властивості Scale.. відносяться до внутрішніх розмірів форми. Отже, властивості Height і ScaleHeight форми мають різні значення. У значенні ScaleHeignt не враховується простір, займаний заголовком і межами форми.
3. Завершіть роботу додатка і активізуйте форму frmText у вікні дизайнера.
4. Двічі клацніть на перемикачі Встановити курсор після 5 символу, щоб викликати вікно програми з кодом процедури:
Private Sub optInsert_Click()
'встановити курсор після 5 символу
txtDisplay.SelStart = 5
' передати фокус текстовому полю
'щоб зміни були наочно видні
txtDisplay.SetFocus
End Sub
Властивість SelStart визначає початкову позицію (у символах) виділеного фрагмента текстового поля. В даному випадку виділення повинне починатися з 5-го символу. Метод SetFocus повертає фокус введення текстовому полю txtDisplay.
5. Відкрийте процедуру події Click перемикача optSelect:
Private Sub optSelect_Click()
'встановити курсор в початок
txtDisplay.SelStart = 0
' визначити довжину рядка і виділити
'відповідна кількість символів
txtDisplay.SelLength = Len(txtDisplay.Text)
'передати фокус текстовому полю, -
'щоб зміни були наочно видні
txtDisplay.SetFocus
End Sub
На прикладі цього фрагмента видно, як виділити увесь вміст текстового поля в програмі. Якби в меню була присутній команда Select All, її процедура була б схожа на цей фрагмент. Якщо ви хочете дізнатися, який текст виділений в полі, звертайтеся до властивості SelText.
Замініть процедуру події cmdClose_Click наступній:
Private Sub cmdClose_Click()
If txtDisplay.SelLength > 0 Then
MsgBox «Виділений текст» & txtDisplay.SelText
End If
End ' Вивантажити форму
End Sub
7. Запустіть додаток. У діалоговому вікні TextBox Properties виділите слово Multiline і натисніть кнопку Close. Зразковий вид екрану зображений на мал. 3.4.
Мал. З.4. Виділений фрагмент у властивості SelText. Написи
Напис (див. малюнок) частково схожий на
текстове поле - вона теж використовується
для виведення тексту. Головна відмінність
полягає в тому, що користувач не може
змінити текст напису на власний розсуд
(хоча його можна змінити як властивість
під час виконання програми).
Н
айважливіша
властивість напису - Caption (а не Text, на
відміну від текстового поля). Написи
часто містять довідкову інформацію.
Вони можуть використовуватися як
самостійно, так і у вигляді «підказок»
для текстового поля, списку або іншого
елементу. У останньому випадку напис
коротко описує елемент. Наприклад, якщо
на вашій формі знаходиться текстове
поле для введення імені клієнта, ліворуч
або згори від нього можна розмістити
напис і встановити його властивості
Caption значення Ім'я клієнта.
Призначення клавіш прискореного виклику для написів
Клавішами прискореного виклику називаються поєднання типу Alt+клавіша. Натискаючи Alt разом з підкресленою буквою текстового елементу, користувач може швидко перейти до нього. Клавіші прискореного виклику можна призначати лише тим елементам, у яких є властивість Caption, наприклад кнопкам або командам меню. Багато елементів (наприклад, текстові поля) не мають властивості Caption, тому ви не зможете швидко перейти до них з клавіатури - доводиться перебирати елементи клавішею Tab до тих пір, поки не знайдете потрібний.
Можливий вихід з положення полягає в тому, щоб помістити напис перед потрібним елементом. Простежите за тим, щоб властивість Tablndex напису була на одиницю менше властивості того елементу, до якого відноситься напис. Вставте символ «амперсенд» (&) у властивість Caption напису перед символом, що визначає клавішу прискореного виклику.
Продемонструємо сказане на прикладі:
1. Відкрийте проект Controls.vbp, якщо він не був відкритий раніше.
2. Двічі клацніть на формі frmText у вікні проекту, щоб активізувати її.
3. Клацніть на текстовому полі txtDisplay, розташованому в лівій верхній частині форми, і знайдіть його властивість Tablndex у вікні властивостей. Значення цієї властивості має дорівнювати 0, щоб елемент став першим в порядку перебору.
4. Помістите на форму напис і розташуєте його над полем txtDisplay. У вікні властивостей задайте її властивості Name значення IblDisplay. Задайте властивості Caption значення Dis&play. He забудьте про амперсенд перед буквою Р.
5. Властивість Tablndex напису IblDisplay повинна мати значення 11. Встановіть його значення в 0.
6. Запустіть програму командою Run > Start.
7. На формі Control Example натисніть кнопку Text Button.
8. На формі TextBox Properties натисніть кнопку Reset, щоб прибрати фокус з поля txtDisplay.
9. Натисніть клавішу Alt і, не відпускаючи її, клавішу Р.
Якщо тепер одночасно натиснути Alt і підкреслену букву, фокус перейде до напису. Проте при перегляді властивостей, подій і методів написів (см далі) виявляється, що у написів немає властивості TabStop, подій GotFocus або LostFocus або методу SetFocus. Це означає, що передати фокус напису неможливо, отже, при передачі фокусу напису з клавішею прискореного виклику насправді фокус передається наступному елементу.
