Назад Оглавление Дальше Объекты - потомки TGraphControl


Рассматривается действующий демо-фрагмент программы, в которой применяются классы - потомки от TGraphicControl. Программа предназначена для расчета стержневых конструкций (строительное проектирование). Демо-фрагмент - это работоспособный фрагмент программы, демонстрирующий использование классов - потомков от TGraphicControl. Благодаря этим классам программа может выполнять следующее (цитата из руководства к программе):
При просмотре расчетной схемы или эпюр можно буксировать графические элементы (опоры, нагрузки, значения, номера узлов и т п), прятать их, делать прозрачными/непрозрачными . Двойной щелчок на шарнирной опоре меняет ее направление (если не получается – отодвиньте мешающий объект). Высоту ординат на эпюрах можно настраивать (Настройка | Высота эпюр), щелкнуть кнопку «Применить настройки». Если картинка не помещается на экране и прокрутка не помогает, можно увеличить размеры экрана.

Рассмотрим коротко работу объектов TGraphicControl в этой программе:

  1. При создании главной формы (TForm1.FormCreate) задаются размеры клиентской части формы и свойства полос прокрутки. Форма может иметь весьма большие размеры. Также задается имя файла справки.
  2. Далее пользователь может выбрать файл данных (используя меню). Вычисляются параметры линейного отображений расчетной схемы на форму.
  3. Создаются массивы объектов классов: TElem (элементы структуры конструкции), TNum (показывает номера узлов), TSila (показывает приложенную нагрузку: силы и пары сил), TOpora (показывает закрепление конструкции), TZnacenie (показывает подписи - значения величин). Все эти классы - потомки TGraphicControl. Их описание смотри в модуле UnKlass. Объекты создаются в процедурах CreateNumbers, CreateSila, CreateOpora, CreateElems, CreateZnaki (см. модуль Podmoga)
  4. При изменении картинки (масштабирование, перетаскивание, прятании и т п) используются процедуры MoveNumbers, MoveSila, MoveElems, MoveZnaki, MoveOpora. Для освобождения объектов - FreeNumbers, FreeSila и т п (см. модуль Podmoga). Для буксировки объектов каждый класс имеет обработчики property OnMouseDown; property OnMouseMove; property OnMouseUp; (см. модуль UnKlass)
  5. Видимостью и прозрачностью объектов можно управлять из формы "Настройка" (модуль UnNastroi)

Скачать RAR-архив исходников + .exe(900 Кб)

Назад Дальше
Rambler's Top100
Hosted by uCoz