IntersectRect

IntersectRect

IntersectRect,函數名,此可使CRect等於兩個現有矩形的交。即是兩個源矩形的重合部分。

正文


CRect::IntersectRect
BOOL IntersectRect (LPCRECT lprcDst, LPCRECT lpRect1, LPCRECT lpRect2 );
返回值:
如果交不為空,則返回非零值;否則,如果交為空則返回0。
參數:
lprcDst 指向兩個源矩形相交的矩形。
lpRect1 指向一個RECT結構或CRect對象,該對象或結構包含了一個源矩形。
lpRect2 指向一個RECT結構或CRect對象,該對象或結構包含了一個源矩形。
說明:
此函數使CRect等於兩個現有矩形的交。即是兩個源矩形的重合部分。
注意:
兩個矩形都必須是符合規範的,否則此函數將失敗。你可以在調用此函數之前,調用NormalizeRect來使矩形規範化。

IntersectRect


MFC:BOOL CRect::IntersectRect(LPCRECT lpRect1, LPCRECT lpRect2); 例:
CRect rt,RT1,RT2;
rt1 = CRect(0,0,50,50);
rt2 = CRect(10,10,50,50);
rt.IntersectRect(&rt2,&rt1);
printf("rt:%d %d %d %d\n",rt.left,rt.top,rt.right,rt.bottom);//輸出rt:10 10 50 50API: BOOL WINAPI IntersectRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2); 例:
RECT rt;
RECT rt1={0,0,50,50};
RECT rt2={10,10,50,50};
::IntersectRect(&rt,&rt1,&rt2);
printf("rt:%d %d %d %d\n",rt.left,rt.top,rt.right,rt.bottom);//rt:10 10 50 50
atltypes.inl 中:
ATLTYPES_INLINE BOOL CRect::IntersectRect(LPCRECT lpRect1, LPCRECT lpRect2) throw()
{ return ::IntersectRect(this, lpRect1, lpRect2);}