-
Здравствуйте. Пишу программу редактора языка релейно-кодовых символов. Каждый элемент языка (скажем - опросить контакт --| |--) есть объект построенный от TCustomControl для того чтобы можно было применить серилизацию. Объекты рисуются на TPanel и представляют собой белый непрозрачный прямоугольник с изображением скажем --||--. Но вот возникла необходимость мною созданные объекты соединить ломаной линией. Под ломаной линией получается непрозрачный прямоугольник, который может закрывать другие объекты. Как посоветуете с этой ситуации выйти?
-
Нанять программиста.
-
> Объекты рисуются на TPanel
"Нафига, Гриш?" (с)
> есть объект построенный от TCustomControl для того чтобы можно было применить серилизацию.
Чтоб что применить? А наследоваться лучше было от TGraphicControl.
> Под ломаной линией получается непрозрачный прямоугольник, который может закрывать другие объекты.
эм... Как-то смутно, скриншот есть? И показывайте как делаете.
-
> Чтоб что применить?
Сериализацию объектов. Это такое действие, которое позволяет сохранить динамически (и статически) созданные объекты на диск в виде текстового или двоичного файла. Затем можна их считать в свою программу. В Делфи Вы разрабатываете приложение, затем сохраняете (это и есть серилизация). ну и когда Вы загружаете проект это есть десерилизация. По поводу TGraphicControl спасибо попробую.
-
Для Pavia тоже спасибо, как правило такие сами ничего не могут, ну и какой можно дать совет, разве только повыпендриваться. Только кто не работает, тот все знает.
-
TFileStream.WriteComponent() чтоле? Просто создать свои Save/Load не удобнее? Или вообще хранить/грузить как JSON/XML.
У вас там должно быть Left/Top и Width/Height - отсюда вычисляете координаты "центра" объекта. Рисуете полилинию по координатам центров всех объектов перед тем как рисовать их самих. Про "непрозрачный прямоугольник" тоже ничего не понял.
|