Windows 95+ 支援視窗區域,決定可見/點擊/繪製範圍。按鈕 (`HWND`) 套用非矩形區域即成為異形按鈕。
// 圓形按鈕 (設計時設為正方形)
HRGN hRgnRound = CreateEllipticRgn(0, 0, RButton->Width, RButton->Height);
SetWindowRgn(RButton->Handle, hRgnRound, TRUE);
// 三角形按鈕
POINT pts[3] = {
{TButton->Width/2, 0},
{0, TButton->Height},
{TButton->Width, TButton->Height}
};
HRGN hRgnTri = CreatePolygonRgn(pts, 3, ALTERNATE);
SetWindowRgn(TButton->Handle, hRgnTri, TRUE);