- - проект програми;
- - засоби розробки.
Як отримати спливаюче меню
Прочитавши: 2915
Однією з ключових завдань, що виникають у процесі проектування інтерфейсу графічних додатків, є забезпечення максимальної ефективності роботи користувача. Саме для цього пункти основного меню часто дублюються кнопками на інструментальних панелях, а також клавіатурними акселераторами. Для здійснення найбільш частих дій в певних ситуаціях має сенс зробити спливаюче меню.
Вам знадобиться
Інструкція
Додайте в додаток ресурс меню, якщо це можливо. Способи створення ресурсу або шаблону меню залежать від платформи і використовуваного засоби розробки програмного забезпечення. Зазвичай в IDE, що містять інструменти створення інтерфейсу у візуальному режимі, є і редактор меню. Завантажувати меню з ресурсів набагато більш зручно, ніж здійснювати його побудову «вручну» шляхом додавання і подальшої модифікації кожного елемента. Тому варто використовувати дану можливість.
Реалізуйте механізм відстеження необхідності відображення спливаючого меню. Визначте перелік дій користувача, при яких меню має виводитися на екран (наприклад, клік мишею, натискання кнопки на клавіатурі). Виявити елементи інтерфейсу, з якими повинні бути вироблені ці дії. Додайте в додаток код перехоплення подій або повідомлень потрібного типу від виявлених елементів інтерфейсу. Реалізуйте обробку цих подій або повідомлень таким чином, щоб, зрештою, управління передавалося в одну функцію або метод класу.
Реалізуйте механізм відображення спливаючого меню. В обробник подій від елементів інтерфейсу, створений на попередньому кроці, додайте код, здійснює формування меню або його завантаження з ресурсів. Визначте позицію на екрані, в якій меню буде показано. Як правило, для цього просто отримують поточні координати курсору миші. Додайте код для виведення спливаючого меню на екран.
Протестуйте роботу програми з новим функціоналом. Здійсніть збірку проекту. Запустіть сформований виконуваний файл. Проводьте дії, необхідні для відображення спливаючого меню. Контролюйте його поява на екрані.