Please enable JavaScript to view this site.

» Нет разделов более высокого уровня «

GetObjParam, SetObjParam - пример использования

Scroll

void GetObjParam_Example(void) {

 

char buf [128];

reference p;

LineSegParam par;

int t;

Mtr(30, 20, 45, 1);

p = LineSeg(0, 0, 30, 0, 1);

 

/* взять параметры отрезка */

 

t = GetObjParam(p, &par, sizeof(par), ALLPARAM);

sprintf(buf, " t=%d, x1=%4.1f y1=%4.1f x2=%4.1f y2=%4.1f tl=%d",t,

par.x1, par.y1 ,par.x2, par.y2 , par.style);

Message(buf);

 

/* заменить параметры отрезка */

par.x2 = 0; par.y2 = 40; par.style = 2;

 

if(SetObjParam(p, &par, sizeof(par), ALLPARAM))

Message(" Изменили объект");

else MessageBoxResult();

 

DeleteMtr();

 

} /* _Example */

/***************************************************************************/

/*Второй пример использования GetObjParam и SetObjParam*/

// редактирование позиционной линии выноски

reference pObj;

RequestInfo info;

double x, y;

memset(&info, 0, sizeof(info));

info.prompt = "Укажите позиционную линию выноски";

int j = Cursor(&info, &x ,&y, 0);

if (j) {

if(ExistObj(pObj = FindObj(x, y, MAXDOUBLE))){

if (GetObjParam(pObj, 0,0,0) == POSLEADER_OBJ) {

PosLeaderParam leaderPar;

GetObjParam(pObj, //указатель на графический объект

&leaderPar, //указатель на структуру параметров

sizeof(LeaderParam), //размер структуры параметров

ALLPARAM); //тип считывания параметров

leaderPar.x = 10;

leaderPar.y = 10;

int rez = SetObjParam(pObj, //указатель на графический объект

&leaderPar, //указатель на структуру параметров

sizeof(LeaderParam), //размер структуры параметров

ALLPARAM); //тип считывания параметров

if (rez) {

LightObj(pObj,1);

Message ("линия выноски по параметрам");

LightObj(pObj,0);

}

else

MessageBoxResult(); //сообщение об ошибке

}

else

Error("Объект не позиционная линия выноски");

}

}

© ООО «АСКОН-Системы проектирования», 2024. Все права защищены. | Единая телефонная линия: 8-800-700-00-78