![]() |
Проблема с RadioButton
Начал писать GUI евый интерфейс, и столкнулся с написанием диалога настроек, и тут такое дело - во первых - как их сгруппированить - должно быть 16 групп по 3 штуки, во вторых как брать их статус (включена, не включена ) БЕЗ управляющих переменных. Я делал так -
{ int tmp=GetCheckRadioButton(IDC_FIRST,IDC_LAST); fwrite(&tmp,4,1,filename); } Таким макаром брал 16 раз и вот так пробовал ставить { fread(tmp,4,1,filename); CheckRadioButton(IDC_FIRST,IDC_LAST,tmp); } Фиг- работает только на двух из 16 (процедура чтения и записи для всех одинаковая). От чего зависит так и не понял, мудрые люди подскажите плиз. А то создавать управляющие переменные для 16*3 это для меня слишком. |
Можно завести переменную типа long long (int64) - это будет 64 бита триггеров. в ней и хранить состояния всех батонов. ее и записывать и считывать в/из файла
После, завести один обработчик OnClick для все радиобатонов. В нем узнавать ID контрола для которого вызвано событие и в зависимости от события менять соотв бит в нашей мега переменной. в обработчике код примерно такой, может что и попутал, но концепция думаю ясна. Код:
int64 bitmask=((int64(0x1))<<(curid-IDC_FIRST+1)); |
| Часовой пояс GMT +4, время: 14:34. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.