Пользовательский стиль TEdit

#delphi #firemonkey #delphi-10.1-berlin

#delphi #firemonkey #delphi-10.1-берлин

Вопрос:

Я определяю пользовательский стиль для tedit объекта, который находится в форме.

В редакторе стилей я добавил a tRectangle к свойству background, установил для его Align свойства значение Client, установил цвет заливки и обводки. Затем я сохранил книгу стилей, и tedit внешний вид изменился, должным образом отражая настройки книги стилей.

К сожалению, когда я запускаю приложение, хотя внешний вид tedit правильный, при нажатии на клиентскую область курсор не отображается, и я не могу ввести ни одного символа. Я уже установил содержимое, передний план и т. Д., Чтобы Оставаться на вершине, Но это не помогает.

Я прилагаю 2 образца изображений. Я действительно ценю чью-либо помощь.

Структура

введите описание изображения здесь

свойства

введите описание изображения здесь

Комментарии:

1. Вы установили HitTest:= False Rectange1Style ? (если true, прямоугольник будет захватывать все щелчки и заставит редактирование не отвечать). Кроме того, то, что вы называете свойством background, на самом деле является компонентом, у которого есть имя background . Вы можете просто удалить его и использовать свой новый прямоугольник в качестве фона.

2. @Hans. Спасибо за ваш совет. Я установил HitTest:= False , как вы предложили, но все еще не могу поместить курсор в tEdit . У вас есть какие-либо дополнительные предложения? Заранее спасибо

3. Вы пытались «отправить на задний план» прямоугольник?

4. @Hans. Я удалил Background объект и добавил TRectangle . Установите для его Align свойства значение Client , для его обратного Color свойства значение Aqua и отправьте его обратно. Все объекты, кроме TRectangle must Bring to Front . Все объекты без исключения должны Stay on Top . Это была проблема, которая меня смутила, потому что в видео на YouTube народ использовал Stay on Top для других объектов эквивалент Bring to Front . На самом деле, теперь я понимаю, что объекты нарисованы в порядке, указанном в Structure , поэтому TRectangle сначала будут нарисованы все остальные поверх него.

5.@Hans. Я должен добавить, что вы должны установить TRectangle's HitTest:= False , как вы указали ранее. Спасибо!

Ответ №1:

‘RectangleStyle’ должен быть родительским для ‘content’, ‘prompt’ и ‘buttons’ — что-то вроде

это

Комментарии:

1. Мне интересно, как мне запустить анимацию в этом примере? (из события?) по коду?