Как сделать TFrame со скругленными углами?

Я хочу сделать компонент на основе TFrameсTLMDShapeControl(для рисования фона закругленного угла )и элемента управления TEdit(, который также может быть TComboBoxили TDBEditи т. д. ). После этого я воспользуюсь командой «Добавить в палитру», чтобы превратить ее в повторно используемый элемент управления компонентом.

Проблема в том, что мне нужно, чтобы он был гибким по ширине, и для этого у меня возникла идея повернуть все внутри фрейма alClientи TEditс отступом в 5 пикселей, чтобы пользователь мог видеть закругленные углы.

Это было ужасно, потому что я не могу использовать Alignи ставить компоненты один поверх другого. Теперь мне приходится копировать и вставлять компоненты каждый раз, когда я должен его использовать!:-(((

Единственный способ, который я вижу правильным, — это использовать только TEditс alClientи полем 5 пикселей и без TShape. Вместо этого я мог бы сделать TFrameзакругленным углом с прозрачностью, чтобы он не выглядел некрасиво на разных цветах или TImages.

Но как мне это сделать?

У кого-нибудь есть образец кода?

this is the goal: transparent rounded corners

10
задан TLama 8 October 2012 в 20:46
поделиться