InflateRect

InflateRect

InflateRect是一種函式,InflateRect函式增大或減小指定矩形的寬和高。InflateRect函式在矩形的左和右增加dx,在矩形的上下增加dy。 dx和dy參數是有符號值。正數增加寬和高,負數減小。

InflateRect通過將CRect的邊向遠離其中心的方向移動來擴大它。為了做到這一點,InflateRect從矩形的左邊和上邊減去單位數,將單位數增加到右邊和下邊。InflateRect的參數是有符號的值;正值擴大CRect,而負值則縮小它。

基本介紹

  • 外文名:InflateRect
  • 類型:函式
InflateRect,MFC,

InflateRect

API
InflateRect
BOOL InflateRect(
LPRECT lprc, //矩形
int dx, // amount to adjust width
int dy // amount to adjust height
);

MFC

void CRect::InflateRect(int x,int y);
void CRect::InflateRect(SIZE size);
void CRect::InflateRect(LPCRECT lpRect);
void CRect::InflateRect(int l,int t,int r,int b);
參數
x
指定擴大CRect左和右邊的單位數。
y
指定擴大CRect上、下邊的單位數。
size
一個指定擴大CRect的單位數的SIZE或CSize。cx值指定擴大左、右邊的單位數,cy指定擴大上、下邊的單位數。
lpRect
指向一個RECT結構或CRect,指定擴大每一邊的單位數。
l
指定擴大CRect左邊的單位數。
t
指定擴大CRect上邊的單位數。
r
指定擴大CRect右邊的單位數。
b
指定擴大CRect下邊的單位數。
說明
前兩個重載函式使CRect相對的兩對邊都擴大,因此CRect的總寬度增加了了兩倍x(或cx),總高度增加了兩倍y(或cy)。其它兩個重載函式使CRect的邊則是相對獨立的擴大。
例子1:
void CRect::InflateRect(int l, int t, int r, int b)
{
left -= l;
top -= t;
right += r;
bottom += b;
}
使用實例(VS2005 + WinCE6.3)
CRect rt =CRect(100,100,150,160);
printf("rt: %d %d %d %d \n",rt.left,rt.top,rt.right,rt.bottom);//rt: 100 100 150 160
rt.InflateRect(20,30); //int x,int y形式
printf("rt: %d %d %d %d \n",rt.left,rt.top,rt.right,rt.bottom);//rt: 80 70 170 190
rt.InflateRect(1,5,10,15);// l,t,r,b形式
printf("rt: %d %d %d %d \n",rt.left,rt.top,rt.right,rt.bottom);//rt: 79 65 180 205
SIZE sz = {5,5};
rt.InflateRect(sz);//size形式
printf("rt: %d %d %d %d \n",rt.left,rt.top,rt.right,rt.bottom);//rt: 74 60 185 210

相關詞條

熱門詞條

聯絡我們