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

       

Обработка Слайдеров


Когда Вы обрабатываете действия и повторные вызовы от слайдеров, ваше приложение должно проверить код причины, который это получает наряду с повторным вызовом.

Хотя Вы не требованы, чтобы проверить код причины, рекомендуется, чтобы Вы делали так, чтобы привести обработку. Частота повторных вызовов, что слайдеры генерируют, зависит от платформы, но некоторые платформы генерируют CBR_DRAG повторный вызов для каждого движения мыши поиски слайдера.

Следующая функция показывает основную схему обрабатывающей слайдера функции.

Это вызвано от выражения действия, связанного с полем ввода слайдера. Slider_info поле ввода, используемое функцией отображает текущее значение слайдера в десятичной форме. Часто такое поле ввода - окно редактирования также, которое дает пользователю выбор или управления слайдером или печатанием его значения непосредственно. Если пользователь напечатает значение в slider_info, повторный вызов окна редактирования должен (наоборот) модифицировать значение слайдера:

static void CALLB

slider_action(ads_callback_packet *cbpkt)

{

ads_hdlg hdlg = cbpkt->dialog;

int reason = cbpkt->reason;

char interim[TILE_STR_LIMIT];

// Save the interim result.

//

strcpy(interim, cbpkt->value);/



// Display the result.

//

ads_set_tile(hdlg, "slider_info", interim);

}

static void CALLB

ebox_action(ads_callback_packet *cbpkt)

{

ads_hdlg hdlg = cbpkt->dialog;

int reason = cbpkt->reason;

char interim[TILE_STR_LIMIT];

// Save the interim result.

//

strcpy(interim, cbpkt->value);

// Display the result.

//

ads_set_tile(hdlg, "myslider", interim);

}



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