Статьи Королевства Дельфи


Часть 2. Создание собственных инструментов, строка состояния - вывод координат. - часть 2


CreateCustomTool (ToolNumber, Type, Cursor, [ShiftCursor],[CtrlCursor], [InfoTips])

Создает пользовательский инструмент, затем, когда он используется, посылает событие ToolUsed.

Небольшое отступление.
Если Вы создаете CustomTool типа "окружность" и в событии Tool_Used среды МарХ определяется SelectByRadius с величиной, передаваемой в событие, результаты получаются не такими, как если Вы выбираете объекты в Radius Select Tool. Метод SelectByRadius не будет точно выбирать, поскольку такой круг не учитывает проекцию карты. Выборки сделанные Radius Select Tool точно выбирают все объекты в заданной окружности.

ToolNumberКоличество инструментов, используемое в дальнейшем. Это целое между 1 и 999
TypeТип описывает поведение инструмента. Берется значениеToolTypeConstants, Которое имеет следующие значения :ToolTypeConstants
  • miToolTypePoint =0 - Точка, указатель
  • miToolTypeLine = 1 - инструмент рисует линию
  • miToolTypeCircle = 2 - инструмент рисует окружность
  • miToolTypeMarquee = 3
  • miToolTypePoly = 4 - инструмент рисует полилинию
  • miToolTypePolygon = 5 - инструмент рисует полигон.
Термин рисует не совсем верный инструмент ведет себя так, как бы рисуя линию, полигон, после окончания рисования данная область,линия,полигон и т.д затирается и вызывается обработчик Tool_Used
Cursor Курсор в случае когда инструмент создан в и курсор в CurrentTool окне карты. Значение выбирается из коллекции CursorConstants. Которая имеет вид :CursorConstants
  • miDef aultCursor = 0
  • miArrowCursor = 1
  • miCrossCursor = 2
  • milBeamCursor = 3
  • milconCursor = 4
  • miSizeCursor = 5
  • miSizeNESWCursor = 6
  • miSizeNSCursor = 7
  • miSizeNWSECursor = 8
  • miSizeEWCursor = 9
  • miUpArrowCursor =10
  • miHourglassCursor =11
  • miNoDropCursor = 12
  • miArrowHourglassCursor =13
  • miArrowQuestionCursor = 14
  • miSizeAllCursor = 15
  • miArrowToolCursor = 16
  • miPanCursor =17
  • miCenter Cursor =18
  • miZoomlnCursor = 19
  • miZoomOutCursor = 20
  • miSymbol Cursor = 21
  • miTextCursor = 22
  • miSelectCursor = 23
  • miRadiusSelectCursor = 24
  • miRectSelectCursor = 25
  • miRegionSelectCursor = 26
  • milnfoCursor = 27
  • miSelectPlusCursor = 28
  • miSelectRadiusPlusCursor = 29
  • miSelectRectPlusCursor = 30
  • miSelectRegionPlusCursor = 31
  • miSelectMinusCursor = 32
  • miSelectRadiusMinusCursor = 33
  • miSelectRectMinusCursor = 34
  • miSelectRegionMinusCursor = 35
  • miLabel Cursor = 36
  • miDrillDownExpandCursor = 37
  • miDrillDownContractCursor = 38
  • miCustomCursor = 39
ShiftCursorЗначение CursorConstants, указывающее, что курсордолжен появиться, пока нажата клавиша SHIFT. Heобязательный параметр. Если он пропущен, клавиша SHIFT недействует на курсор.
CtrlCursorЗначение CursorConstants, указывет, что курсордолжен появиться, пока нажата клавиша CTRL. Heобязательный параметр. Если он пропущен, клавиша CTRL недействует на курсор.


Итак я создал 2 собственных инструмента в FormCreate - это инструмент стрелка (указатель) и инструмент окружность (круг).
Вот они :




Начало  Назад  Вперед