次の方法で共有


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
    外接する四角形を論理単位で指定します。 このパラメーターには、CRect オブジェクトまたは RECT 構造体へのポインターを渡すこともできます。

  • point
    point の x 座標は、丸い角を描画する楕円の幅を指定します (論理単位)。 point の y 座標は、丸い角を描画する楕円の高さを指定します (論理単位)。 このパラメーターには、POINT 構造体または 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

参照

参照

CDC クラス

階層図

CDC::Rectangle

RoundRect

CRect クラス

RECT 構造体

POINT 構造体

CPoint クラス

その他の技術情報

CDC のメンバー