Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по Леонову, 5семестр.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
503.3 Кб
Скачать

29. Работа с полями ввода и кнопками.

Кнопка (Button)

Элемент управления кнопка, называемый также командная кнопка, как правило, используется для вызова сообщения BN_CLICKED.

Вкладки окна Properties, позволяющие настраивать свойства элемента управления командная кнопка на этапе проектирования.

Переключатель Default button позволяет указать командную кнопку, устанавливаемую как кнопка по умолчанию. Эта кнопка при первоначальном отображении окна имеет внутри темную пунктирную рамку и нажатие пользователем клавиши Enter интерпретируется как щелчок по данной кнопке.

Переключатель Owner draw используется для создания кнопок с на­страиваемым появлением (использующих переопределяемый разработчиком метод OnDrawItem класса CWnd). Отметим, что также можно создать про­изводный класс от CButton и переопределить методы CButton::DrawItem и CButton: :OnDraw.

Переключатель Icon позволяет указать, что вместо текста будет отобра­жена пиктограмма (стиль BS_ICON). При создании кнопки стиля BS_ICON ей посылается сообщение BM_SETIMAGE со следующими зна­чениями параметров: wParam равен IMAGE_ICON, IParam определяет ото­бражаемую для кнопки пиктограмму.

Переключатель Bitmap позволяет указать, что вместо текста будет отображено изображение (стиль BS_BITMAP). При создании кнопки стиля BS_BITMAP ей посылается сообщение BM_SETIMAGE со следующими значениями параметров: wParam равен IMAGE_BITMAP, IParam определяет отображаемое изображение.

Переключатель Multi-line используется в том случае, если текст слиш­ком длинный, чтобы уместиться на кнопке в одну строку.

Если переключатель Notify включен, то при щелчке или двойном щелчке мыши на кнопке родительское окно будет получать уведомление.

Переключатель (Check Box)

Переключатель, иногда называемый флажком, может иметь два или три состояния: включенное, выключенное или неопределенное (не обязательно).

Переключатель можно связать как с переменной типа BOOL, так и с объектом класса CButton.

Вкладки окна Check Box Properties, позволяющие настраивать свойства элемента управления переключатель на этапе проектирования.

Переключатель Auto позволяет создавать элемент управления, переключение состояний (включен/выключен) которого происходит автоматически при щелчке мыши.

Переключатель Tri-state используется для создания элемента управления “переключатель”имеющего три состояния. Одновременно с состояниями включен или выключен используется состояние не определен, в котором переключатель выглядит "посеревшим".

Если включен переключатель Push-like, то создается элемент управления переключатель, отображаемый как командная кнопка: при нажатии пере­ключатель имеет вид вдавленной кнопки, а при ненажатом состоянии -выпуклой кнопки.

Переключатель Flat создает плоскую кнопку.

Радиокнопка (Radio Button)

Элемент управления радиокнопка аналогичен переключателю, но не может иметь неопределенного состояния. Также при объединении несколь­ких радиокнопок в группу только одна из них может иметь включенное со­стояние.

Радиокнопку можно связать как с переменной типа BOOL, так и с объ­ектом класса CButton.

Вкладки окна Radio Button Properties, позволяющие настраивать свойства элемента управления радиокнопка на этапе проектирования.

Окно редактирования (Edit Box)

Окно редактирования представляет собой однострочное или много­строчное поле ввода. Инициализация элемента управления Edit Box выпол­няется программным путем. В зависимости от того, каким образом уста­новлена связь между элементом управления и приложением, существуют различные способы использования этого элемента управления. Если эле­мент управления связан с объектом класса CEdit, то для работы с ним можно применять все методы этого класса.

На рис. 5.6 и 5.7 представлены вкладки окна Edit Properties, позволяю­щие настраивать свойства элемента управления окно редактирования на этапе проектированияДля создания многострочного окна редактирования следует включить пе­реключатель Multiline. Для установки разбиения на строки с использованием мягкого конца строки следует установить свойство Auto HScroll. При мягком конце строки, в отличие от жесткого конца строки, окно редактирования отображает разделение на строки, не вставляя непосредственно в сам текст символов конца строки и перевода каретки.

Для того чтобы разрешить вставку в окне редактирования новых строк, следует включить переключатель Want return.

При двойном щелчке мыши на элементе управления окно редактирова­ния Visual C++ открывает окно, отображающее список событий (рис. 5.8), которые можно использовать для данного элемента управления.

На левой панели этого окна расположен список всех доступных собы­тий для элемента, выделенного на панели Class or object to handle.

Для того чтобы автоматически добавить в программу определение метода для обработки выделенного события, следует щелкнуть на командной кнопке Add Handler. При щелчке на командной кнопке Add and Edit происходит авто­матическое добавление определения метода для обработки события и переход в окно редактирования программного кода этого метода.