11. В ветви case 201 можно убедиться, что был произведен именно двойной щелчок на компоненте ListBox (wmEvent = LBN_DBLCLK). После этого в строковую переменную tmp записывается текущее строковое значение элемента, выбранного в ListBox, а сама переменная отправляется в ComboBox.
12. В ветвях case 205 и case 206 по щелчку на кнопке извлекается текущее значение текста из однострочных редакторов, которое потом добавляется в список элементов ListBox или ComboBox.
13. В целом это упражнение является достаточно полной иллюстрацией приемов работы с компонентами Edit, ListBox и ComboBox. Конечно же, в этом упражнении не были исчерпаны все возможности этих компонентов, но достаточно ясно были обозначены пути дальнейшего развития приложения.
SCROLLBAR и STATIC
Два этих компонента не представляют особых трудностей в использовании. Компонент SCROLLBAR можно использовать для организации полос прокрутки основного окна приложения или для создания индикатора с указателем прогресса.
При использовании компонента SCROLLBAR необходимо учитывать, что этот компонент генерирует и принимает сообщения, указанные в следующем списке.
? Сообщения WMJHSCROLL и WMJHSCROLL посылаются родительскому окну при изменении положения движка компонента.
? Сообщения SBMGETSCROLLINFO и SBMSETSCROLLINFO посылаются компоненту для установки его параметров и положения движка.
Кроме этого существуют функции API SetScrollInfo и GetScrollInfo, выполняющие те же самые действия, но без явной посылки сообщения.
Компонент STATIC позволяет вывести на определенное место формы статический текст или изображение, хранящееся в файле ресурсов. Этот компонент настолько прост, что в отдельном рассмотрении не нуждается.
Компоненты Common Controls, меню и редактор ресурсов
Меню
При создании простого приложения среда сама создает строку главного меню, из которого вызывается диалоговое окно About. Эта линейка служит основой для создания главного меню приложения, которое может быть сколь угодно сложным. По большому счету, вся работа по созданию меню заключается в работе с редактором ресурсов и написании обработчиков сообщений, которые принимаются от соответствующих пунктов меню.
Упражнение 4.5
1. Создать простое приложение и сохранить его с именем Menu.
2. В окне Workspace перейти на вкладку ResourceView, открыть корневую папку Menu resources и в ней раскрыть папку Menubar. Внутри папки располагается элемент IDM_MENU. Двойной щелчок на этом элементе откроет редактор меню (рис. 4.7).
Рис. 4.7. Редактор меню.
3. Если в редакторе меню выделить уже созданный пункт (Tools), то его можно будет редактировать. Если требуется создать новый пункт меню, необходимо совершить двойной щелчок на пустом прямоугольнике справа от существующего пункта меню. На экран будет выведено окно редактирования нового пункта меню (рис. 4.8).
Рис. 4.8. Окно редактирования пункта меню.
4. Теперь следует дважды щелкнуть на прямоугольнике справа от команды Tools и установить для этого пункта меню флажок General ? Separator. Это приведет к созданию вертикального разделителя на строке меню.
5. Следующий прямоугольник справа позволяет создать еще один пункт меню. Для него свойство Caption должно получить значение File. Также следует взвести флажки Pop-up, Autosize и No wrap.
6. Подняться на один прямоугольник вверх. Для нового пункта меню свойство Caption должно получить значение File1.
7. Подняться на один прямоугольник вверх. Для нового пункта меню свойство Caption должно получить значение File2, а свойство Break – значение Bar.
8. Подняться на один прямоугольник вверх и взвести флажок Separator.
9. Подняться на один прямоугольник вверх. Для нового пункта меню свойство Caption должно получить значение File3. Также необходимо взвести флажок Checked.
10. В результате этих действий должна получиться структура меню, показанная на рис. 4.9.
Рис. 4.9. Редактирование пункта меню File.
11. Сместиться на один прямоугольник вправо на основной строке меню. Для него свойство Caption должно получить значение Edit. Также следует взвести флажки Pop-up, Autosize и No wrap.
12. Подняться на один прямоугольник вверх. Для нового пункта меню свойство Caption должно получить значение Ed1. Также следует взвести флажок Pop-up.
13. Подняться на один прямоугольник вверх. Для нового пункта меню свойство Caption должно получить значение Ed2.
14. Подняться на один прямоугольник вверх и взвести флажок Separator.
15. Подняться на один прямоугольник вверх. Для нового пункта меню свойство Caption должно получить значение Ed3.
16. Выделить пункт Ed1, переместиться на пустой прямоугольник справа, и для нового пункта меню установить значение свойства Caption равным E1.
Читать дальше
Конец ознакомительного отрывка
Купить книгу