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

       

Ввод Кнопки Изображения


Вы можете обрабатывать кнопку изображения просто как кнопка — то есть вызывать отдельное действие. Однако, PDB средство также дает Вам опцию определения областей кнопки так, чтобы принятое действие зависело, на которой части кнопки изображения пользователь выбирает. Механизм для этого прямой: действие кнопки изображения или повторный вызов возвращают (X, Y) местоположение, которое пользователь выбрал. Координаты - в пределах диапазона специфического поля ввода кнопки изображения (как возвращено функциями измерения). Ваше приложение должно назначить значение к местоположениям на поле ввода кнопки изображения,  неявно определяя области изображения.

В следующем примере, кнопка изображения имеет два цветных образчика, созданные ads_fill_image (). Вы можете выбирать один или другой, в зависимости от которой области пользователь выбирает. Если кнопка изображения разделена горизонтально (темный выше, индикатор ниже), повторный вызов должен проверить только одно измерение. Не используйте структуру точки типа ads_point, чтобы сохранить координаты pickpoint, потому что их пропускают как длинные целые числа:

char result[31]; // Global char array

static void CALLB

pick_shade(ads_callback_packet cbpkt)

{

long threshold, pick_y = cbpkt->y;

ads_hdlg hdlg = cbpkt->dialog;

short x, y;

ads_dimensions_tile(hdlg, "image_sel", &x, &y);

threshold = y/2;

// Remember the origin at upper left.

//

if (pick_y > threshold)

strcpy(result, "Light");

else

strcpy(result, "Dark");

}



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