-
CombineRgn
鎖定
CombineRgn是將兩個區域組合為一個新區域。
- 中文名
- CombineRgn
- 説 明
- 將兩個區域組合為一個新區域
- hDestRgn
- 被設置為hSrcRgn1的拷貝
- Long
- 下列常數之一
CombineRgn聲明
Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
將兩個區域組合為一個新區域
CombineRgn參數表
hDestRgn ------- Long,包含組合結果的區域句柄
hSrcRgn1 ------- Long,源區域1
hSrcRgn2 ------- Long,源區域2
nCombineMode --- Long,組合兩區域的方法。可設為下述常數
RGN_AND
hDestRgn被設置為兩個源區域的交集(集合中的交集)
RGN_COPY
hDestRgn被設置為hSrcRgn1的拷貝
RGN_DIFF
hDestRgn被設置為hSrcRgn1與hSrcRgn2相減後的區域(集合中的差集)
RGN_OR hDestRgn被設置為兩個區域的並集(集合中的並集)
RGN_XOR
hDestRgn被設置為兩個區域的異或操作後的區域(集合中的異或操作)
[返回值]
Long,下列常數之一:
COMPLEXREGION:區域有互相交疊的邊界
SIMPLEREGION:區域邊界沒有互相交疊
NULLREGION:區域為空
ERRORAPI:不能創建組合區域
VC例子:
CRgn r1,r2,r3,rgn;
r1.CreateRectRgn(43,30,100,54);
r2.CreateRoundRectRgn(103,34,145,89,22,11);
r3.CreateEllipticRgn(115,79,195,112);
rgn.CreateRectRgn(0,0,10,10);
//合併
rgn.CombineRgn(&r1,&r2,RGN_OR);
rgn.CombineRgn(&rgn,&r3,RGN_OR);
CDC *pdc=GetDC;
CBrush bsh(0xFF00);
pdc->FillRgn(&rgn,&bsh);
rgn.DeleteObject;
r1.DeleteObject;
r2.DeleteObject;
r3.DeleteObject;
ReleaseDC(pdc);
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:8次歷史版本
- 最近更新: 遗失的螺丝