Шаг 467 - CButton

Класс CButton обеспечивает функциональные возможности средств управления кнопки Windows. Управление кнопки - маленькое прямоугольное дочернее окно которое может быть переключено в состояние вкл. и выкл. Кнопки могут использоваться по одной или в группах и могут или быть помечены или появляться без текста. Кнопка обычно изменяет вид когда пользователь нажимает ее.

Типичные кнопки - переключатель, "радио" кнопка, и кнопка. Объект CButton может стать любыми из них, согласно стилю кнопки, определенному при инициализации Create функцией.

Кроме того, класс CBitmapButton полученный из CButton поддерживает создание средств управления кнопки, помеченных растровыми изображениями вместо текста. CBitmapButton может иметь отдельные точечные рисунки для кнопки в ввернем, нижнем, фокусном и заблокированном состоянии.

Вы можете создавать кнопку из шаблона диалога или непосредственно в Вашем коде. В обоих случаях, сначала вызывают конструктор CButton чтобы создать объект CButton затем вызывается Create функция чтобы создать кнопку Windows и прикрепить ее к объекту CButton.

Конструкция может быть процесс с одним шагом в классе, полученном из CButton. Запишите конструктор для полученного класса, и обращение Create изнутри конструктора.

Если Вы хотите обрабатывать уведомительные сообщения Windows, посланные управлением кнопки родителю (обычно класс полученный из CDialog), добавьте вход карты сообщения и функцию драйвера сообщения к родительскому классу для каждого сообщения.

Каждый вход карты сообщения берет следующую форму:

ON_Notification( id, memberFxn )

Где идентификатор определяет дочернее окно ID управления посылающего сообщение и memberFxn - имя родительской функции которую Вы записали в дескриптор сообщения.

Функциональный прототип родителя следующий:

afx_msg void memberFxn( );

Потенциальные входы карты сообщения следующие:

Если Вы создаете объект CButton из ресурса диалога, объект CButton автоматически разрушен, когда пользователь закрывает диалоговое окно.

Если Вы создаете объект CButton внутри окна, Вы можете быть должны уничтожить его. Если Вы создаете объект CButton в "куче " используя new функцию, Вы должны вызвать delete к объекту чтобы уничтожить его когда пользователь закрывает управление кнопки Windows. Если Вы создаете объект CButton в стеке или CButton внедрен в родительском объекте диалога он разрушен автоматически.

#include <afxwin.h>

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 14.01.2002