ник: Lukas
Вообще-то не приходилось решать подобную задачу и не могу придумать, где это может понадобиться.
Вопросы:
Нужно-ли для решения поставленной задачи:
1. позиционирование формы по курсору?
2. определение размеров выводимого текста вне зависимости от шрифтов?
3. изменение размеров Вызываемой формы?
4. закрытие формы по клику мышки вне области Вызываемой формы?
Предложенный функционал мне кажется избыточным для поставленной задачи,
а само решение скорее "академическим", чем "практическим".
Я бы сделал проще - просто резиновая формочка с одним текстовым полем. =>
Что бы сделал иначе:
Варианты:
1. В Label.Caption писал бы одно(два) ключевое слово, полный текст - в ControlTipText (до 255 символов), или в Tag, если текст длиннее.
Сделал бы процедуру/функцию в общем модуле со статической переменной класса формы.
При клике по Label - вызывал бы процедуру/функцию и передавал ей в качестве аргумента Label.
В процедуре поднимал экземпляр формы, если еще не поднят, Caption Label в Caption формы,
полный текст в текстовое поле.
... (Тут можно весь ваш расширенный функционал реализовать)
Visible=True.
Вместо закрытия - прятал бы экземпляр формы.
То есть: был бы один раз поднятый экземпляр формы на всю сессию работы.
Этакий MsgBox с возможностью копирования.