Я ищу способ создания дочерней формы AlphaBlend, если возможно, используя многослойные окна, поскольку за ней будут интерактивные элементы управления.
Проблема в том, что у меня есть компонент в обычной TForm, который рисует несколько визуальных слоев (рисунки, картинки ...). В какой-то момент мне нужно создать элемент управления редактора в этой форме (на месте), этот элемент управления будет включать в себя различные стандартные элементы управления вводом за пределами моего элемента управления (поле редактирования, флажок и т. Д.), Однако я хотел бы наложить слои перед редактируемым слоем, используя альфа-смешение (и WS_EX_TRANSPARENT
, чтобы сделать его кликом).
Сначала я подумал об использовании дочерних форм для этого (без границ TForm
s, привязанных к компоненту), и это работает нормально, вплоть до того момента, когда AlphaBlended TForm вообще не имеет альфа-округления, а становится непрозрачным, как только родительский ...
Затем я попытался очистить форму для алфавита, установив ее в fsStayOnTop, и, реагируя на соответствующие события, держать ее перед компонентом на экране, который работает, но это не совсем удовлетворительное решение: alphablended Форма StayOnTop также находится перед другими модальными и немодальными формами приложения, если пользователь решит переместить их перед компонентом ...
Итак, есть ли другие идеи о том, как создать дочернюю форму? (или веди себя как есть)