Не подскажите решение. Необходимо для каждого механизма создать поле c наименованием механизма. Также должна быть возможность изменения\ редактирования оператором этого поля при необходимости.
Для наименования механизма можно использовать объект ТЕКСТ.
В этом случае редактирование отдельного названия будет состоять из следующих шагов:
1. Идентификация выбранного поля ТЕКСТ.
2. Запись исходного текста из выбранного объекта ТЕКСТ во внутреннюю переменную текстового типа, связанную с объектом ПОЛЕ.
3. Позиционирование ПОЛЯ на выбранный объект ТЕКСТ - необязательное действие, просто определяющее место редактирования текста - на объекте или фиксированное. При редактировании на объекте необходимо условие: номер слоя объекта ПОЛЕ больше номера слоя любого объекта ТЕКСТ.
4. Редактирование текста для объекта ПОЛЕ.
5. Запись измененого текста в идентифицированный объект ТЕКСТ.
6. Сокрытие объекта ПОЛЕ при редактировании текста на объекте.
Шаги 1-3, скрипт типа OnDblClick для объектов ТЕКСТ:
begin
with Sender as TM_Text do
begin
EditText.Tag := Tag; // идентификатор текста
aText.Value := Text; // записать исходный текст в переменную редактирования
EditText.X := X; // позиционирование окна редактирования по X
EditText.Y := Y; // по Y
end;
end.
Шаги 5-6, скрипт типа OnDoneInput для объекта EditText c основной переменной aText:
begin
GetTextByName('Text' + IntToStr(EditText.Tag)).Text :=
aText.AsUTF8String; // запись результата редактирования
EditText.Y := -100; // скрыть поле редактирования
end.
Полностью пример во вложении.