Как да създадете бутон за избор, в Делфи

Как да създадете бутон за избор, в Делфи.

Програма необходим за създаване на бутони, но кръгли и как да го направя аз не знам, да ви помогне добри хора!
По-интересна тема за това как да направят това във формуляра има кръгла област, когато движите мишката, който ще бъде предявен иск.

Ако наследи от TButton, то ще са свършили страхотна работа:

1. CreateParams определени bs_OwnerDraw стил
2. CreateWnd създаде елипсовидна област и я възлага на кутия един бутон
3. SetBounds възстановяване на региона с нови измерения и възлагат прозорец
4. Напишете съобщението и манипулатор CN_DRAWITEM той може да изпълнява изготвяне на различни състояния (бутонът не е натиснат, когато се натисне бутона, няма фокус, има фокус), като Windows не може да се направи кръгли бутони

За пълна функционалност, вие също трябва напиши товарачи съобщение:

5. CM_ENABLEDCHANGED
6. CM_FONTCHANGED
7. WM_LBUTTONDBLCLK

Трябва да се отбележи веднага, че такъв бутон е преобразена по-бавно обикновен правоъгълен.

Можете да създавате бутони завършват с изображението
vtavlyaesh кръг растерна графика в изображението например синьо.
Изображение прозрачни = вярно.
Само при натискане на мишката # XA0; изображението трябва да се следи
цвят под курсора (не sostovit особени проблеми).
Ако цветът под курсора, когато натиснете същият като синьо нещо се случи или някакво събитие.
Също така е възможно да се извърши изготвяне на различни състояния на бутони
заместване на изображението чертежи.

> Ако цветът под курсора, когато натиснете същия синьото, че> има определено събитие.

И можете да използвате питагорова теорема

И това е възможно да се направи компонент, който прихваща wm_paint.

Не можем просто да използвате измъчван и компонент HemisphereButton. Има един бутон и кръг, дори и красива (със запълващ градиент).

Но къде да го намерите?