checkbox в MFC

marizha

как узнать состояние checkboxa, "принадлежащего" диалогу?
в API-то можно было послать SendMessage BM_GETCHECK этому боксу, а в MFC у SendMessage не вводится какому окну его слать, вот я и не могу достучаться до него...

shlyumper

Если у тебя checkbox на диалоге, то лучше для него через ClassWizard прописать Member Variable, и дальше работать через UpdateData. А вообще, твоим методом можно GetDlgItem(IDC_MYCHECKBOX)->SendMessage(...)

marizha

a class memberi только при создании (через DoDataExchange обмениваются инфой, а после не хотят

marizha

мб этот DoDataExchange засунуть в какой-нить цикл...?

shlyumper

почитай описание функции UpdateData

marizha

а почему для radiobutton-ов нельзя создать Member Variables? и как их теперь обрабатывать?

shlyumper

Можно, если на них поставить галочку Group (а ее тебе ставить все равно понадобится)

marizha

но ведь тогда придется вручную сосотояния нескольких совместных radiobutton-ов отслеживать

yuda

CButton*) GetDlgItem(IDC_MYCHECKBOX->GetCheck
BST_UNCHECKED Button state is unchecked.
BST_CHECKED Button state is checked.
BST_INDETERMINATE Button state is indeterminate (applies only if the button has the BS_3STATE or BS_AUTO3STATE style).

yuda

> тогда придется вручную сосотояния нескольких совместных radiobutton-ов отслеживать
Экспериментировать влом.
Но по идее: все радиобатоны должны идти подряд в "tab order", ставишь у первого радиобатона свойство group, у первого элемента за радиобатонами (по таб ордеру) тоже свойство group (не обязательно, но желательно). Создаешь переменную-член типа int, связанную с первым rb. После UpdateData: 0 - первый, 1 - второй и т.д.
Оставить комментарий
Имя или ник:
Комментарий: