|
ИСХОДНИК ПРОГРАММЫ
. : Рисование стержней : .
Исходник программы, показывающей пример того, как найти наилучший способ вырезать набор деталей необходимой длины из набора имеющихся на складе деталей указанной длины. В зависимости от области применения заготовка может представлять собой пиломатериалы, трубы, проволоку, рулоны материала для резки и т.д.
Особенности исходника
- Рисование на холсте TImage: В течение многих лет я думал, что свойства высоты и ширины Picture.Bitmap должны быть установлены, прежде чем мы сможем рисовать на холсте изображения. Это больше не так. Если вы используете свойство TImage Canvas, ссылки на TImage.Canvas вызывают GetCanvas, который проверяет (и при необходимости устанавливает) Picture.Bitmap.Height и Width.
- Команда arc: для рисования стержня используется процедура Arc свойства Canvas изображения. Дуга требует 8 целочисленных параметров для определения части эллипса, которую нужно нарисовать. Это четыре набора координат (X, Y). Два набора определяют верхнюю левую и нижнюю правую границы эллипса. Два других набора определяют конечные точки двух воображаемых линейных сегментов от центра эллипса до точек на эллипсе или за его пределами. Точки пересечения этих линий с эллипсом определяют начальную и конечную точки дуги, всегда нарисованной против часовой стрелки.
- Добавление записей в Scrollbox: это было для меня в новинку. Элемент управления TScrollBox может увеличивать свой виртуальный размер по вертикали по мере необходимости для размещения размещенных на нем объектов. По сути, поле прокрутки становится окном в виртуальной области, которое перемещается вниз при прокрутке вверх и вверх при прокрутке вниз. Однако вертикальные координаты для элементов, вставленных в TScrollbox, относятся к текущей вершине этого окна (свойство Position вертикальной полосы прокрутки). Так, например, чтобы переместить панель в позицию 1000, нам нужно вычесть текущее значение VertScrollBar.position (bottom := 1000 - vertscrollbar.position;).
Просмотры: 2 575
Скачивания: 23
Комментарии пользователей:
|
|
Admin |
30 ноября 2022 |
Заплатите 49 рублей и все скачается |
|
|
|
|
|
|
Скачать (8 Кб) Регистрация >> |
|
Похожие исходники
|
|