ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Обработка Радио-Кластеров


"Радио" кнопки появляются в кластерах радио. Значение каждой индивидуальной "радио" кнопки является или “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 изменяется.



Содержание раздела