CDC::RoundRect
現在のペンを使って角の丸い四角形を描画します。
BOOL RoundRect(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3
);
BOOL RoundRect(
LPCRECT lpRect,
POINT point
);
パラメーター
x1
四角形の左上隅の x 座標を指定します (論理単位で)。y1
四角形の左上隅の y 座標を指定します (論理単位で)。x2
四角形の右上隅の x 座標を指定します (論理単位で)。y2
四角形の右上隅の y 座標を指定します (論理単位で)。x3
角を丸くの描画に使用される楕円の幅を指定します (論理単位で)。y3
角を丸くの描画に使用される楕円の高さを指定します (論理単位で)。lpRect
論理単位に外接する四角形を指定します。このパラメーターの RECT の構造体への CRect のオブジェクトまたはポインターを渡すことができます。point
point の x 座標は、角が丸いを描画するには、楕円の幅を指定します (論理単位で)。point の y 座標が丸い角を描画するには、楕円の高さを指定します (論理単位で)。このパラメーターの [ポイント] の構造や CPoint のオブジェクトを渡すこともできます。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
四角形の内部では、現在のブラシを使用して塗りつぶされます。
この図は、関数が描画されるまで継続しますが、右、下座標は含まれません。これは、図形の高さが y2 –図の y1 と幅 x2 あります。x1がであることを意味します。外接する四角形の高さと幅は両方とも 2 単位、32,767 未満の単位を超えることはできません。
使用例
void CDCView::DrawRoundRect(CDC* pDC)
{
// create and select a solid blue brush
CBrush brushBlue(RGB(0, 0, 255));
CBrush* pOldBrush = pDC->SelectObject(&brushBlue);
// create and select a thick, black pen
CPen penBlack;
penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
CPen* pOldPen = pDC->SelectObject(&penBlack);
// get our client rectangle
CRect rect;
GetClientRect(rect);
// shrink our rect 20 pixels in each direction
rect.DeflateRect(20, 20);
// Draw a thick black rectangle filled with blue
// corners rounded at a 17-unit radius. Note that
// a radius of three or less is not noticable because
// the pen is three units wide.
pDC->RoundRect(rect, CPoint(17, 17));
// put back the old objects
pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldPen);
}
必要条件
ヘッダー: afxwin.h