Как создать непрямоугольное управление
- CreateEllipticRgn
- CreateEllipticRgnIndirect
- CreatePolygonRgn
- CreatePolyPolygonRgn
- CreateRectRgn
- CreateRectRgnIndirect
- CreateRoundRectRgn
После использования одной из этих функций, Вы имеете определенный регион.
В следующем шаге Вы назначаете этот регион на любое управление, с которым Вы работаете. Это можно сделать с использованием функции SetWindowRgn в пределах события FormCreate.
Следующий код делает непрямоугольную форму. Вы можете проверить это, чтобы увидеть результат:
procedure TForm1.FormCreate(Sender: TObject); var points : array [1..5] of TPoint; region : hrgn; begin points [1].x:= 10; points [1].Y:= 10; points [2].x:= 100; points [2].y:= 50; points [3].x:= 50; points [3].y:= 80; points [4].x:= 10; points [4].y:= 200; points [5].x:= 10; points [5].Y:= 10; region := createpolygonrgn(points, 5, 1); SetWindowRgn(form1.handle, region, true); end;
Комментарии