Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2013-02-22 04:49:50 ЛС | профиль | цитата
В командировке был. Отосплюсь, посмотрю все внимательней.

nesco писал(а):
Galkov, как отключить обход вокруг InfoTip

Так он же и отключен. Вообще.
НО -- если он прозрачный. Мне показалось именно это логичным.

Сделано примерно так:
function trace(cgt:PCodeGenTools; sdk:id_sdk; pnt:id_point; pos:PPos; add_proc:TAddProc; getPPos:TgetPPos):boolean;
...............
procedure InitMatrix; // Заполняем матрицу объектами схемы
.............
for i := 0 to sdkGetCount(sdk)-1 do begin
e := sdkGetElement(sdk, i);
elGetPos (e, x, y);
elGetSize(e, w, h);
name := elGetClassName(e);
Ex := (lstrcmp(name,'HubEx')=0)or(lstrcmp(name,'GetDataEx')=0);
if Ex then begin //Аномалия: Ex-ы обозначаем только точкой Body+Pin
.......
end else if (elGetFlag(e)and IS_BACK)<>0 then begin // Аномалия EditMulti[Ex]
fillRect(Idx(x),Idy(y), Idx(x+w), Idy(y+h),[Body])
end else if (lstrcmp(name,'InfoTip')=0)and(propToByte(GetPROP('Transparent',e))=0) then
// Ничего не делаем
else // Зарисовываем тело элемента как прямоугольник
fillBody(Idx(x),Idy(y+3), Idx(x+w), Idy(y+h-3));
.......
.......
end;
...............
карма: 9

0
Редактировалось 1 раз(а), последний 2016-10-22 09:00:15