共用方式為


CRgn::CreatePolyPolygonRgn

會建立由一系列封閉多邊形區域。

BOOL CreatePolyPolygonRgn( 
   LPPOINT lpPoints, 
   LPINT lpPolyCounts, 
   int nCount, 
   int nPolyFillMode  
);

參數

  • lpPoints
    物件的陣列 結構或定義多邊形的頂點之陣列的點 CPoint 物件。 每個多邊形,因為系統不會自動關閉,它們必須明確關閉。 多邊形連續指定。 結構具有下列格式:

    typedef struct tagPOINT {

    int x;

    int y;

    } POINT;

  • lpPolyCounts
    指向整數陣列。 第一個整數在 lpPoints 陣列的第一個和第二個多邊形的頂點數目,第二個整數指定頂點數目,依此類推。

  • nCount
    在 lpPolyCounts 陣列指定整數的總數。

  • nPolyFillMode
    指定多邊形填滿模式。 這個值可能是 ALTERNATEWINDING

傳回值

不是零,如果作業成功,則為 0。

備註

產生的區域會在 CRgn 物件儲存。

多邊形可能是斷續,也可能會重疊。

區域的大小限制為記憶體 32,767 x 32,767 個邏輯單位或 64K,視何者較小。

當多邊形填滿模式是 ALTERNATE時,系統會在填入偶數和奇數多邊形邊之間的區域中每條掃描線。 也就是系統來填入中的第一個和第二個邊緣之間的區域,在第三和第四個邊緣之間,依此類推。

當多邊形填滿模式是 WINDING時,系統會使用圖表是否繪製判斷填滿區域的方向。 在多邊形的每條線段以順時針方向或是左進行繪製。 每當從一個附加的區域中繪製的虛構的線加入至圖表的外部通過一條順時針線段,計數會遞增。 當一行程式碼通過一條逆時針線段時,計數會遞減。 區域填滿,如果計數為非零,如果該行到這個圖表上的外部。

當應用程式完成使用區域建立 CreatePolyPolygonRgn 函式時,它應該選擇區域在裝置內容之外加以使用 CGDIObject::DeleteObject 成員函式將它移除。

需求

Header: afxwin.h

請參閱

參考

CRgn 類別

階層架構圖表

CRgn::CreatePolygonRgn

CDC::SetPolyFillMode

CreatePolyPolygonRgn