Обработка Радио-Кластеров
"Радио" кнопки появляются в кластерах радио. Значение каждой индивидуальной "радио" кнопки является или “1” для на или “0” для от; значение кластера радио - ключевой атрибут в настоящее время отобранной кнопки. Пакет PDB управляет значениями "радио" кнопок в кластере, и гарантирует, что только каждый находится на одновременно.
Вы можете назначать действие на каждую индивидуальную "радио" кнопку, но это более удобно назначить действие на кластер радио в целом и затем проверять значение кластера, чтобы видеть, который из "радио" кнопок был выбран.
В следующем примере, радио кластеризует средство управления, которое вид трехмерного объекта отображено после того, как пользователь оставляет диалоговое окно. Этот кластер содержит четыре "радио" кнопки (хотя имелся бы больше).
ads_action_tile(hdlg, "view_sel", pick_view);
...
static void CALLB
pick_view(ads_callback_packet *cbpkt)
{
char value[TILE_STR_LIMIT];
strcpy(value, cbpkt->value);
if (strcmp(value, "front") == 0)
show_which = 0;
else if (strcmp(value, "top") == 0)
show_which = 1;
else if (strcmp(value, "left") == 0)
show_which = 2;
else if (strcmp(value, "right") == 0)
show_which = 3;
}
Предшествующие примеры показывают каждую "радио" кнопку, связанную с единственной переменной, которая берет множественные значения. Они могут также вызывать дополнительные действия, типа отключения выборов в вашем диалоговом окне. Если кластер радио - большой, удобно сохранить связанные значения в таблице. Если Вы используете таблицу, структурируете это так, чтобы это не зависело от порядка кнопок в пределах кластера. Пакет PDB не налагает это ограничение, и порядок может изменяться, если DCL изменяется.