Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic 6.0~02.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.38 Mб
Скачать

Для чого потрібні меню і панелі інструментів

Ви напевно встигли помітити, що більшість Windows - додатки мають стандартний інтерфейс. Майже в кожному застосуванні є заголовок і віконне меню, а розміри головного вікна можна змінювати мишею. Крім того, в багатьох застосуваннях є меню і панелі інструментів, що спрощують роботу з нестандартними функціями програм. Сам Visual Basic містить меню і панелі інструментів, що полегшують вашу роботу (мал. 5.1).

Мал. 5.1. Меню і панелі інструментів Visual Basic.

Меню відкриває доступ до різних, іноді досить неочевидним, можливостям додатка. Команди в нім можна блокувати і розблоковувати, позначати і навіть відображувати залежно від контексту об'єкту. Крім того, можна створити список вікон - меню з командами для переходу до дочорнимо MDI - формам поточної форми. У середовищі Visual Basic зустрічаються приклади меню, закріплених за іншими елементами, а також контекстних і таких, що розкриваються безпосередньо над об'єктом. У цьому уроці нам належить створити перше меню (див. розділ "Створення меню в редакторові меню").

Панелі інструментів, у свою чергу, призначені для швидкого виклику команд меню. Наприклад, вам напевно доводилося бачити панелі з кнопками Cut, Copy і Paste. Користувачеві набагато простіше натиснути кнопку, чим виконувати команду Edit > Сміттю. Панелі інструментів опиняються ще зручніше в тих ситуаціях, коли команди приховані глибоко у вкладених підміню. У цьому уроці ви навчитеся створювати панелі інструментів (див. розділ "Створення панелей інструментів").

Працюючи над великим застосуванням, неодмінно подумайте, як найефективніше організувати структуру меню і панелей інструментів.

Об'єкт меню

Я

к згадувалося в попередньому розділі, меню представляє функції додатка в чіткому і, як правило, зручному для користувача виді. Для створення меню в Visual Basic застосовується елемент меню. Він нічим не відрізняється від будь-якого іншого елементу, що знаходиться на формі, за винятком того, що ви не знайдете його на панелі елементів. Замість цього треба запустити редактор меню командою або кнопкою на панелі інструментів Visual Basic і розробити меню за допомогою цього інструменту.

Е

Мал. 5.2. Редактор меню.

лемент меню має декілька властивостей і підтримує одну подію, але у нього немає жодного методу. Щоб помістити елемент меню на форму, слід зробити форму, що цікавить вас, активною. Виділивши її, виконаєте команду Tools > Menu Editor або Запустіть редактор меню кнопкою на панелі інструментів (мал. 5.2).

Саме у редакторові відбувається конструювання меню. Меню складається з одного або декількох заголовків верхнього рівня. Кожен заголовок складається з однієї або декількох команд (наприклад, Exit). У меню можна навіть включати роздільники, щоб згрупувати взаємозв'язані команди. В результаті замість одного елементу меню у вас з'являється ціла серія. Кожен заголовок меню і кожна команда (у тому числі і роздільники) є окремими елементами з окремими наборами властивостей і подією Click.

Властивості меню

Перераховані далі властивості доступні в режимі конструювання, проте працювати з ними доводиться через редактор меню, а не через вікно властивостей.

Найважливіші властивості (виділені напівжирним шрифтом) такі:

Appearance

Index

Tag

Caption

Name

Visible

Checked

NegotiatePosition

WindowList

Enabled

Parent

HelpContextID

Shortcut

  • Властивість Caption визначає текст, що відображується в меню. Символ "амперсенд" (&) в назві команди задає клавішу прискореного виклику.

  • Властивість Checked поміщає (чи видаляє) маркер -"галочку" поряд з командою. З його допомогою буває зручно перемикати стан команди. Задаючи значення властивості Checked, можна "включати" або "вимикати" команди меню під час виконання програми.

  • Властивості Enabled іноді привласнюється значення False, якщо в поточному контексті команда меню не має сенсу. Наприклад, команду Save можна заблокувати до тих пір, поки користувач не введе які-небудь дані. Значення властивості Enabled також можна змінювати під час виконання програми.

  • Замість того щоб блокувати непотрібну команду меню, можна скористатися властивістю Visible і приховати її - з іншого боку, блокування команд викликає менше непорозумінь.

  • Властивість Name, як завжди, повинно визначатися в першу чергу. За поширеною угодою, імена елементів меню починаються з префікса mnu.

  • Властивість Shortcut визначає акселератор - альтернативний спосіб виклику команди з клавіатури. Не слід плутати акселератор з клавішами прискореного виклику (які створюються за допомогою символу "амперсенд"). Для виклику акселератора зазвичай використовуються службові клавіші Ctrl і Alt у поєднанні з іншими клавішами (наприклад, F1).

Меню, створені в редакторові, можна відкрити на формі в режимі конструювання. Щоб проглянути код процедури події Click, клацніть на команді меню в режимі конструювання. Існує і інший спосіб - виберіть ім'я елементу меню із списку Object, що розкривається, у вікні програми. Проглянути властивості елементу меню також нескладно, для цього слід ще раз відкрити редактор меню і вибрати команду меню із списку, розташованого в нижній частині вікна редактора. Властивості елементів меню можна також проглянути, вибираючи їх імена із списку, що розкривається, у верхній частині вікна властивостей.

Подія Click

Це єдина подія, підтримуване елементами меню; воно також генерується при використанні клавіш прискореного виклику і акселераторів. Дії, що виконуються при виборі команди меню, програмуються в процедурі події Click.

Кожен заголовок меню теж має подію Click. Зазвичай ця подія ігнорується - коли користувач клацає на заголовку, він просто хоче відкрити меню. Проте досвідчені програмісти на Visual Basic часто використовують цю подію у поєднанні з властивістю Index для динамічного додавання або видалення команд з меню, що відкривається. Динамічні меню насправді є масивами елементів меню. Усі команди меню мають однакову структуру і знаходяться в одному і тому ж блоці пам'яті. Отже, замість того щоб звертатися до команди меню по імені, ви можете посилатися на неї по індексу в масиві. Детальніша інформація про масиви приведена в уроці 7, "Типи даних".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]