IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Проблема с RadioButton (http://www.imho.ws/showthread.php?t=86186)

lokiSE 23.05.2005 16:58

Проблема с 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 это для меня слишком.

PSyton 24.05.2005 09:35

Можно завести переменную типа long long (int64) - это будет 64 бита триггеров. в ней и хранить состояния всех батонов. ее и записывать и считывать в/из файла
После, завести один обработчик OnClick для все радиобатонов.
В нем узнавать ID контрола для которого вызвано событие и в зависимости от события менять соотв бит в нашей мега переменной.
в обработчике код примерно такой, может что и попутал, но концепция думаю ясна.
Код:

int64 bitmask=((int64(0x1))<<(curid-IDC_FIRST+1));
if (((CRadioButton *)GetDlgItem(curid))->Checked())
{
  Flags|=bitmask;
}
else
{
  Flags~=bitmask;
}



Часовой пояс GMT +4, время: 14:34.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.