Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 803

•  TDictionary Custom Sort  6 801

•  Fast Watermark Sources  6 586

•  3D Designer  9 544

•  Sik Screen Capture  6 924

•  Patch Maker  7 373

•  Айболит (remote control)  7 311

•  ListBox Drag & Drop  6 175

•  Доска для игры Реверси  98 122

•  Графические эффекты  7 487

•  Рисование по маске  6 778

•  Перетаскивание изображений  5 631

•  Canvas Drawing  6 011

•  Рисование Луны  5 802

•  Поворот изображения  5 253

•  Рисование стержней  3 849

•  Paint on Shape  3 006

•  Генератор кроссвордов  3 959

•  Головоломка Paletto  3 141

•  Теорема Монжа об окружностях  3 973

•  Пазл Numbrix  2 624

•  Заборы и коммивояжеры  3 434

•  Игра HIP  2 353

•  Игра Go (Го)  2 265

•  Симулятор лифта  2 669

•  Программа укладки плитки  2 229

•  Генератор лабиринта  2 781

•  Проверка числового ввода  2 388

•  HEX View  2 725

•  Физический маятник  2 414

 
скрыть

Компонент Линия



Автор: Александр Журавлев

Компонент предназначен для вычерчивания линий на мнемосхемах и других целей, где количество ломаных линий, созданых одним компонентом, не должно превышать 255.
Инструмент - Delphi 5.1.

Введение даже списка (TList), не говоря уже о коллекции, заметно замедляло отрисовку, поэтому был выбран статический массив записей линий.

Компонент позволяет изменять тощину, стиль и цвет как в режиме разработки, так и в динамике.
Для редактирования используется стандартный редактор компонентов, запускаемый нажатием правой кнопкой мыши.
Редактирование нужно начинать с первой команды выпадающего меню (Edit Lines), а заканчивать - со второй (Exit from Editing). Редактирование заключается в добавлении линий (Add Line) и узлов (Add node), и удалении их (Remove Line и Remove Node).
Можно также менять цвет (Line Color) и стиль линии (LineStyle). Ввиду ограничений, накладываемых операционными системами Windows95 и 98, стили меняются только для линий с толщиной, равной 1. Для Windows NT и 2000 таких ограничений нет.

Для изменения координат узла нужно выбрать линию путем нажатия левой кнопки мыши над требуемым узлом или концом линии, и, удерживая ее, перетащить на нужное место. Выделенная линия обозначается черными квадратиками.

Для большего удобства в выпадающем меню редактора указывается общее количество созданых линий, номер выбранной линии и узлов в ней.

К сожалению, компонент имеет существенный недостаток - отсутствие блокировки манипулирования другими компонентами, находящимися на форме, до выхода из режима редактирования линий.
Автор будет глубоко благодарен за любые советы по преодолению указанного недостатка.

Автор приносит глубокую благодарность Сергею Губенко и Юрию Зотову за ценные советы по построению компонента.
Компонент могут использовать все без всяких ограничений, но со ссылкой на автора.

Скачать исходные коды AzLines.zip (7K)