Косая рамка.mbx

(С) Дмитрий Мазуров, 2005

	Программа рисует жирную рамку с подписанными выходами для оформления планов любых масштабов. Жирная рамка рисуется параллельно рамке, выбранной в MapInfo до открытия главного диалога командой меню "Программы/Косая рамка". Эта самая выбранная рамка должна быть линейным или площадным объектом из одного полигона состоящего из 4-х сегментов. Рамка может быть не только прямой (из горизонтальных и вертикальных сегментов), но и косой. В общем, на роль рамки сгодится любой выпуклый четырёхугольник. Выходы сетки рисуются так, как если бы сетка была прямой в системе координат карты рамки, т.е. линии сетки предполагаются только вертикальными или горизонтальными. Выходы сетки подписываются в системе координат карты с рамкой. Если знаменатель масштаба больше либо равен 25000, создаются и подписываются в системе Градусы-Минуты угловые выходы, выходы сетки в этом случае подписываются особым образом. Если знаменатель масштаба меньше либо равен 1000, рисуются и подписываются только угловые выходы. Масштаб плана, шаг сетки, отступ рамки а также шрифты и стили линий задаются в главном диалоге программы и сохраняются при закрытии диалога кнопкой ОК.

23 мая 2007: теперь программа умеет размещать на серединах сторон жирной рамки произвольные подписи. Так можно подписывать номенклатуру или номера соседних листов.

27 июля 2007: добавлен режим "Авто" для подписывания номенклатуры соседних листов. 
Для использования режима нужно иметь таблицу, где нарисованы площадными или линейными объектами рамки всех листов по объекту. В колонке "Трапеция" этой таблицы должна быть записана номенклатура листов. Перед вызовом "Косой рамки" нужно открыть эту таблицу и выбрать в ней рамку текущего листа. По этой таблице программа будет определять имя (номенклатуру) текущего и соседних листов. В папке, где располагается таблица трапеций, будет создана папка с именем текущего листа, в которую программа запишет таблицу с рамкой (текущим листом, преобразованным в полилинию) и таблицу с жирной рамкой и прочим хозяйством, рисуемым программой. Соседние листы будут подписаны автоматически. Если с какой-то стороны соседа нет или его поле "Трапеция" пусто, жирная рамка с этой стороны рисуется непрерывной, а сосед не подписывается.

Процедура использования режима "Авто" такая:
Выбираем трапецию в нашей таблице трапеций, 
запускаем "Косую рамку", 
включаем (если не включен) режим "Авто",
жмем кнопку "..." рядом с галочкой "Авто", чтобы вызвать диалог параметров авторежима,
в появившемся диалоге выставляем имя создаваемой таблицы с рамкой,
если нужно задаем, чтобы к именам создаваемых таблиц (с внутренной рамкой и с жирной рамкой) слева добавлялось имя текущего листа,
все, теперь автоподписывание должно работать