На этом шаге мы перечислим основные методы класса CButton.
На этом шаге мы перечислим основные методы класса CButton, который используется для создания кнопок различного вида. поля ввода.
Метод | Назначение |
---|---|
CButton(); | Конструирует объект класса CButton |
BOOL BOOL Create (LPCTSTR lpszCapition, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID); | Построение объекта класса CButton происходит в два этапа. Сначала вызывается конструктор, затем функция
Create, которая создает командную кнопку Windows и подключает к ней объект класса CButton.
Если задан стиль WS_VISIBLE, Windows передает кнопке все сообщения, необходимые для ее активизации и изображения.
Параметры:
|
virtual void DrawItem (LPDRAWITEMSTRUCT lpDrawItemStruct); | Вызывается каркасом приложения при изменении вида полъзовательской кнопки. Для таких кнопок устанавливается стиль
BS_OWNERDRAW. Для реализации отображения пользовательского класса CButton переопределите эту функцию.
Приложение должно восстановить все объекты GDI (интерфейса графических устройств), избранные для отображения содержимого,
указываемого параметром lpDrawItemStruct, до того как закончится выполнение функци-члена.
Параметр lpDtawItemStruct - длинный указатель на структуру DRAWITEMSTRUCT, содержащую информацию об отображаемом элементе типе рисунка. |
HBITMAP GetBitmap() const; | Возвращает дескриптор ранее установленного функцией SetBitmap() растрового изображения, связанного с кнопкой |
UINT GetButtonStyle() const; | Эта функция возвращает значения стилей группы BS_ (и только этой группы) |
int GetCheck() const; | Определяет контрольное состояние переключателя или флажка |
HCURSOR GetCursor(); | Возвращает дескриптор установленного ранее функцией SetCursor() курсора, связанного с кнопкой |
HICON GetIcon() const; | Возвращает дескриптор установленного ранее функцией SetIcon() значка, связанного с кнопкой |
UINT GetState() const; | Определяет состояние переключателя |
HBITMAP SetBitmap (HBITMAP hBitmap); | Связывает с кнопкой новое растровое изображение. Растровое изображение будет автоматически помещено на
кнопке и по умолчанию будет центрировано. Если размеры изображения слишком велики для кнопки, оно будет
обрезано по размерам кнопки. Вы можете выбрать следующие параметры размещения:
В отличие от класса CBitmapButton, использующего четыре растровых изображения на кнопку, функция SetBitmap() требует только одно растровое изображение для кнопки. При нажатии кнопки растровое изображение сдвигается вниз и вправо. Параметр hBitmap - дескриптор растрового изображения |
void SetButtonStyle (UINT nStyle, BOOL bRedraw = TRUE); | Изменяет стиль кнопки. Функция-член GetButtonStyle() используется для того, чтобы определить стиль кнопки. Младшее слово
полного стиля кнопки сообщает о специфичном для нее стиле. Параметры:
|
void SetCheck (int nCheck); | Устанавливает или переустанавливает контрольное состояние переключателя или флажка. Эта функция-член не
влияет на обычную кнопку. Параметр nCheck задает контрольное состояние. Этот параметр может принимать
одно из следующих значений:
|
HCURSOR SetCursor (HCURSOR hCursor); | Связывает с кнопкой новый курсор. Он автоматически помещается на кнопку и по умолчанию центрируется. Если курсор слишком
велик для кнопки, он обрезается по размеру кнопки. Вы можете избрать следующие параметры размещения:
|
HICON SetIcon (HICON hIcon); | Связывает с кнопкой новый значок. Значок автоматически помещается на кнопку и по умолчанию центрируется. Если значок
слишком велик для кнопки, он обрезается по размерам кнопки. Вы можете выбрать следующие параметры размещения:
|
void SetState (BOOL bHighlight); | Устанавливает выделенное состояние кнопки. Эта функция работает только с обычными командными кнопками и не оказывает влияние на флажки или переключатели. Интерфейсный элемент кнопки автоматически выделяется, когда пользователь щелкает на нем и удерживает левую кнопку мыши. Выделение снимается, когда пользователь отпускает кнопку мыши. Параметр bHighlight устанавливает, должна ли кнопка быть выделена. Ненулевое значение означает выделить кнопку, нулевое снимает любое выделение |
Со следующего шага мы начнем рассмотривать работу с постоянными данными.