Теперь разберёмся, как работает функция CreatePolyPolygonRgn. Её предназначение в том, чтобы рисовать сразу несколько регионов, которые могу даже не пересекаться. А могу - и пересекаться, именно для этого и нужен параметр FillMode. Поглядим, как это выглядит, и что оно делает:
Code: |
procedure TForm1.FormCreate(Sender: TObject); var ap: array [1..7] of TPoint; av: array [1..2] of integer; r: hRGN; begin ap [1] := Point (0, 0); ap [2] := Point (Width, 0); ap [3] := Point (Width, Height div 2); ap [4] := Point (0, Height div 2); ap [5] := Point (Width div 2, Height div 2); ap [6] := Point (0, Height); ap [7] := Point (Width, Height); av [1] := 4; av [2] := 3; r := CreatePolyPolygonRgn (ap, av, 2, WINDING); try SetWindowRgn (Handle, r, TRUE); finally DeleteObject (r); end; end; |
Из первой серии функций осталось только разобраться с комбинированием регионов, о чем и пойдёт речь далее.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!