次の方法で共有


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

参照

関連項目

CDC クラス

階層図

CDC::Rectangle

RoundRect

CRect クラス

RECT 構造体

POINT 構造体

CPoint クラス