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;
...............