Как получить выделенную форму из TScrollBox в Delphi?

Я создаю некоторые формы внутри поля прокрутки, динамически.

Когда я нажимаю на созданную форму, я хочу получить некоторые значения, которые хранятся в этой конкретной форме, в родительскую форму. Это возможно? Если так, как я могу это сделать?

Надеюсь, это не звучит запутанно. Вот скриншот того, что я делаю.

Скриншот

1 ответ

Решение

Когда вы создаете формы, сохраняйте для них указатель в свойстве Tag. Я буду хранить ссылки на динамические формы в массиве или списке, чтобы получить к ним доступ позже, но даже если вы просто создадите их с прокруткой в ​​качестве владельца, у них будет индекс для scrollbox.Controls[x]

Я предполагаю, что у вас есть (или нужно) какое-то событие в форме / метках / изображениях как событие onlclick, чтобы ваш пользователь мог выбрать форму, а затем вы можете изменить задний цвет (или цвет метки), чтобы показать, что форма выбрана, На этом этапе вы можете обновить свойство Tag в родительском поле прокрутки, чтобы оно соответствовало тегу формы (я предполагаю, что вы сохраняете формы в массиве или списке). Затем вы можете использовать тег в качестве свойства "Выбранный индекс".

С этого момента достаточно просто получить доступ к элементам форм из индекса.

Другие вопросы по тегам