Как создать непрямоугольную кнопку с Delphi? - PullRequest
2 голосов
/ 30 августа 2009

Как создать прозрачную непрямоугольную кнопку с Delphi?

Ответы [ 3 ]

4 голосов
/ 30 августа 2009

В основном вы используете SetWindowRgn , чтобы определить форму вашей кнопки / элемента управления / окна. См. здесь для примера.

Или, если вы не возражаете, что ваша кнопка не может быть выбрана клавиатурой, вы также можете использовать TImage и использовать событие OnMouseUp.

Или найдите стороннюю кнопку, которая уже делает то, что вы хотите на Torry .

2 голосов
/ 31 августа 2009

Вы можете использовать SetWindowRgn, только если не возражаете, чтобы он выглядел довольно странно - биты, которые выходят за пределы области, просто исчезнут. Ваша лучшая ставка, вероятно, является производной от TCustomTransparentControl, но тогда вам нужно будет выполнить пользовательское рисование. Однако я подозреваю, что эта обычная картина была тем, чего вы ожидали все время?

2 голосов
/ 30 августа 2009

Raize Components имеет компонент TRzShapeButton, но, вероятно, есть и бесплатные альтернативы.

...