HTML [44] |
Visual C++ и MFC [21] |
c++ [78] |
php [19] |
Javascript [15] |
C# [51] |
загрузки [0] |
XNA
[10]
создание игр с помощью xna
|
Главная » Статьи » Visual C++ и MFC |
Кнопки, кнопки, кому кнопки ?!?! У нас в ассортименте большие, средние, малые, наши и импортные, цветные и черно-белые, на любой вкус и запах !!! Налетай, покупай !!! Насколько вы уже поняли темой данного раздела являются кнопки, а точнее класс CButton, который является базовым для всевозможных видов кнопок. Прибьём пару кнопок ... Генеалогическое дерево:Конструктор:CButton( ); Конструктор класса CButton. Функции-члены класса CButton:BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT & rect, CWnd* pParentWnd, UINT nID ); Создаёт кнопку и присоединяет её к обьекту класса CButton. Возвращаемое значение не равно нулю, если все прошло нормально и ноль, если наоборот. lpszCaption - текст на кнопке. dwStyle - определяет стиль кнопки. Может быть комбинацией следующих стилей: BS_CHECKBOX - создаёт CHECKBOX ( маленький квадрат с текстом, расположенным справа от него до тех пор пока не прописан стиль BS_LEFTTEXT ). BS_AUTOCHECKBOX - тоже самое, что и BS_CHECKBOX, различие в том, что когда пользователь выбирает checkbox в нем появляется галочка, в следующий раз, когда пользователь делает это, галочка исчезает. BS_RADIOBUTTON - создаёт радио-кнопку ( маленький круг с текстом, расположенным справа от него до тех пор, пока не прописан стиль BS_LEFTTEXT ). Кнопки такого стиля обычно комбинируются в группы взаимоисключаемых возможностей. BS_AUTORADIOBUTTON - тоже самое, что и BS_RADIOBUTTON, различие в том, что когда пользователь выбирает такую кнопку она автоматически становится активной и убирает подсветку с других радио-кнопок в этой же группе. BS_3STATE - тоже самое, что и BS_CHECKBOX, различие в том, что кнопка может быть затемнена так как будто она выбрана. Это состояние обычно используется для того, чтобы показать, что кнопка недоступна. BS_AUTO3STATE - тоже самое, что и BS_3STATE, за исключением того, что кнопка меняет своё состояние, когда пользователь выбирает её. BS_DEFPUSHBUTTON - создаёт кнопку по умолчанию ( вокруг неё будет тонкая темная рамка ). Если пользователь нажмет ENTER, то запустится обработчик нажатия на эту кнопку.Этот стиль можно установить в свойствах кнопки на вкладке Styles. BS_GROUPBOX - создает рамку с помощью которой можно обьединять кнопки. BS_LEFTTEXT - применяется с BS_CHECKBOX и BS_RADIOBUTTON ( а также с их модификациями ) . Указывает на необходимость вывести текст слева от кнопки. BS_OWNERDRAW - при указывании данного стиля, кнопку прийдется рисовать своими руками ( с помощью вызова функций ). Этот стиль можно установить в свойствах кнопки на вкладке Styles. BS_PUSHBUTTON - создает обычную кнопку, которая посылает сообщение WM_COMMAND окну-владельцу, когда пользователь выбирает её. rect - определяет размер и позицию кнопки. pParentWnd - Указатель на окну, которому принадлежит кнопка, обычно конечно же CDialog.Этот параметр не может быть равным NULL. nID - идентификатор кнопки. UINT GetState( ) const; Получает состояние radio-кнопки или check-box. void SetState( BOOL bHighlight ); Устанавливает подсвечена кнопка или нет. bHighlight - флаг, с помощью которого устанавливается или снимается подсветка. Если он равен 0, то подсветка снимается, если не ноль, то наоборот. int GetCheck( ) const; Функция, используемая для проверки выбрана ли кнопка ( работает для radio-кнопок и checkbox ). Функция может возвращать следующие значения: 0 - кнопка не выбрана. 1 - кнопка выбрана. 2 - состояние кнопки не определено ( кнопка затемнена ). void SetCheck( int nCheck ); Устанавливает выбрана кнопка или нет ( работает для radio-кнопок и checkbox ). nCheck - задаёт состояние кнопки. Может принимать следующие значения: 0 - устанавливает кнопку не выбраной. 1 - устанавливает кнопку выбраной. 2 - устанавливает кнопку в неопределенное состояние ( кнопка затемнена ). UINT GetButtonStyle( ) const; Возвращает стиль кнопки.Возможные стили перечислены в описании функции Create. void SetButtonStyle( UINT nStyle, BOOL bRedraw = TRUE ); Изменяет стиль кнопки. nStyle - стиль кнопки.Возможные стили перечислены в описании функции Create. bRedraw - параметр, определяющий перерисовать кнопку или нет. Если 0 - то не следует, иначе отрисовать её заново. HICON SetIcon( HICON hIcon ); Устанавливает иконку на кнопке. Возвращаемое значение - дескриптор иконки, которая раньше находилась на кнопке. hIcon - дескриптор новой иконки. HICON GetIcon( ) const; Возвращает дескриптор, связанной с кнопкой иконки. Если с кнопкой не связана иконка то вернется NULL. HBITMAP SetBitmap( HBITMAP hBitmap ); Устанавливает рисунок на кнопке. Возвращаемое значение - дескриптор рисунка, который раньше находился на кнопке. hBitmap - дескриптор нового рисунка. HBITMAP GetBitmap( ) const; Возвращает дескриптор, связанного с кнопкой рисунка. Если с кнопкой не связан рисунок то вернется NULL. HCURSOR SetCursor( HCURSOR hCursor ); Устанавливает курсор для кнопки. Возвращаемое значение - дескриптор курсора, который раньше был связан с кнопкой. hCursor - дескриптор нового кусора. HCURSOR GetCursor( ); Возвращает дескриптор, связанного с кнопкой курсора. Если с кнопкой не связан курсор то вернется NULL. Два основных Кнопочных сообщения:У Кнопки есть два важных сообщения: BN_CLICKED и BN_DOUBLECLICKED. Сообщение BN_CLICKED приходит, когда пользователь нажимает на кнопку один раз. Сообщение BN_DOUBLECLICKED приходит, когда пользователь делает двойной щелчок на кнопке. Если у вас возникнет необходимость вы можете написать функции-обработчики этих сообщений. Заключение:В Заключении романтического знакомства с кнопкой давайте рассмотрим вкладку Styles свойств кнопки.
| |
Просмотров: 7608 | Рейтинг: 3.0/2 |
Всего комментариев: 0 | |