Вопрос № 49763: Здравствуйте уважаемые эксперты. У меня несколько вопросов.
Как по средствам winapi создать checkbox и radiobuttons?
Когда они созданы. Как проверить выделен ли checkbox и как проверить выдилен ли однин из radiobuttons, и если да, то какой?<b...
Вопрос № 49.763
Здравствуйте уважаемые эксперты. У меня несколько вопросов.
Как по средствам winapi создать checkbox и radiobuttons?
Когда они созданы. Как проверить выделен ли checkbox и как проверить выдилен ли однин из radiobuttons, и если да, то какой?
Как программно насильно выделить checkbox и какой-то radiobutton?
Заранее благодарю.
Отправлен: 21.07.2006, 02:33
Вопрос задал: igorok (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Physicist
Здравствуйте, igorok!
Создаются они, как обычно, вызовом CreateWindow с указанием класса BUTTON и одним из следующих стилей:
BS_CHECKBOX - создает checkbox
BS_AUTOCHECKBOX - создает checkbox, который автоматически меняет свое состояние при нажатии
BS_3STATE - с тремя состояниями (третье - "серое")
BS_AUTO3STATE - с тремя состояниями, автоматический
BS_RADIOBUTTON - создает radiobutton
BS_AUTORADIOBUTTON - создает radiobutton, которая автоматически меняет свое состояние при нажатии
Если нужно создать группу radiobutton'ов, то у первого должен быть указан стиль WS_GROUP. Правда, есть подозрение, что этот стиль работает только для диалоговых окон...
Получить состояние checkbox'а или radiobutton'а можно через сообщение BM_GETCHECK (возвращаемое значение - BST_CHECKED, BST_INDETERMINATE или BST_UNCHECKED):
lResult=SendMessage(hWndControl,BM_GETCHECK,0,0);
а изменить - через BM_SETCHECK:
SendMessage(hWndControl,BM_SETCHECK,BST_CHECKED/BST_INDETERMINATE/BST_UNCHECKED,0);
Ответ отправил: Physicist (статус: 7-ой класс)
Ответ отправлен: 21.07.2006, 09:53 Оценка за ответ: 5 Комментарий оценки: Спасибо. Именно то, что мне нужно