Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/84: Рейтинг темы: голосов - 84, средняя оценка - 4.92
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782

Radio Button

01.03.2009, 22:48. Показов 15468. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь разобраться с MFC по книге Т. Сидориной. Там есть пример по созданию группы Radio Button. Написано: «… только у первой кнопки группы надо в окне свойств изменить в поле Group значение FALSE на TRUE… Добавим в класс переменную radio1, которая будет связана с группой…»
В общем, всё так и сделал: создал 4 Radio Button, в первой изменил значение Group, сделал Add Variable, применил к ней категорию Value с типом BOOL (всё как сказано в книге)…
При обработке нажатия кнопки написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch (radio1)
    {
    case 0:
        AfxMessageBox (L"Radio1");
        break;
    case 1:
        AfxMessageBox (L"Radio2");
        break;
    case 2:
        AfxMessageBox (L"Radio3");
        break;
    case 3:
        AfxMessageBox (L"Radio4");
        break;
    }
Иногда бывает, что значение radio1 в самом окне не меняется, то есть, я ставлю кружок, например, в radio2, а из radio1 этот кружок не исчезает, и вместе с ним ставится в radio2.
Если же, по непонятным мне причинам, этой проблемы нет, то всегда выскакивает сообщение Radio1, несмотря на то, что Radio1 не нажат.
В чём проблема?
И, может, кто-нибудь знает других авторов книг по MFC, где более подробно написан процесс создания приложений?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2009, 22:48
Ответы с готовыми решениями:

Radio Button
Как можно привезать Radio Button чтоб при выборе одного или иного менялось значение переменой? В проекте надо чтоб можно было изменять...

Несколько групп radio button
уже почти голову сломал с это проблемой, но чую, что решение далеко не сложное. Нужно создать 4 группы радиобаттонов по 2 штуки в...

Radio-элементы меню
Есть субменю с 4мя записями, их ИД: ID_1X, ID_2X,ID_4X,ID_8X, числовые константы которых идут строго по порядку. Во всех книгах по mfc...

6
 Аватар для orange
4 / 4 / 2
Регистрация: 25.02.2009
Сообщений: 40
02.03.2009, 09:08
Цитата Сообщение от qwert Посмотреть сообщение
И, может, кто-нибудь знает других авторов книг по MFC, где более подробно написан процесс создания приложений?
Давыдов, Разработак Windows приложений с помощью MFC. Сам не читал, но друзья говорят что хорошая книжка ...
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
02.03.2009, 15:33  [ТС]
Спасибо.
А что касается основного вопроса: как правильно работать с группой Radio Button, напишите, пожалуйста.
0
Заблокирован
02.03.2009, 16:42
qwert не вариэйбл булевский надо создавать, а контрол, вот и не фурычит. Держи проектик для тебя залобал, думаю как раз то что нужно...
Вложения
Тип файла: rar RadioTst.exe.rar (4.0 Кб, 270 просмотров)
Тип файла: rar RadioTst.proj.rar (10.7 Кб, 463 просмотров)
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
02.03.2009, 23:51  [ТС]
Спасибо.
Твои вложения конечно работают, но это не то, что нужно: у тебя обработка конкретного нажатия radio button, а не связь их в группу и обработка нажатия кнопки ok. У тебя group по сути и не причём. Не могу найти control, есть категория Control в той же вкладке Add Variable, но это определённо не то, что надо. Должно работать по нажатию одной кнопки. Например, кнопки OK:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void CjhlDlg::OnBnClickedOk()
{
    switch (radio1)
    {
    case 0:
        AfxMessageBox (L"radio1");
        break;
    case 1:
        AfxMessageBox (L"radio2");
        break;
    }
    // TODO: Add your control notification handler code here
    //OnOK();
}
И на экран выводится сообжение, какой Radio Button нажат.
Не знаю, в чём проблема. Сделал всё в точности как в книге.
Может, кто-нибудь ещё знает в чём ошибка?
0
SLK_46
14.05.2009, 01:53
перед switch-case нужно вызвать UpdateData(TRUE);
тогда содержимое переменной будет верным.
И переменную лучше создовать - чесно как int, а не bool.
Но важно сказать что она переменная элем управления. это галочка в визарде AddVariable.
После чего в ф-ции DoDataExchange(CDataExchange* pDX)
появится строчка DDX_Radio(pDX, IDC_RADIO1, GroopSelect);
где GroopSelect эта самая переменная типа int.
16 / 13 / 3
Регистрация: 07.10.2016
Сообщений: 115
13.05.2020, 09:14
.::.DIMA.::., обновление в теме спустя 11 лет =)

В VS 2017: рецепт в точности как указывает SLK_46 с ОДНИМ УТОЧНЕНИЕМ: Не Control (Переменная управления), а Value (Переменная значения). Если поставить переменную управления int -- в
C++
1
DDX_Control(pDX, IDC_RADIO1, GroopSelect)
у меня было подчёркивание красным (даже не помню почему), излечилось переменной-значением и работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2020, 09:14
Помогаю со студенческими работами здесь

Какими методами я могу отключать переключатели (Radio) и кнопки в программе?
Мне в програме нужно отключить переключатель и кнопку , какими методами я могу ето зделать ?

Radio Button (option button) в html документе, открытом в IE
Как "нажать" (не знаю какое событие должно произойти или какое свойство нужно установит в true) rButton при работе с html документом...

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Radio button!?
Как очистить массив radio кнопок? Вот на форме 4 кнопки radio button, я выбрал 1 из них, а потом я хочу чтоб как бы "обновить"...

radio button
Есть тест на java и html, но существует проблемка..када юзер заполняет поле, а потом проверяет результат теста, и он его не устраивает..то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru