CDC::Chord
绘制个字符串(椭圆和线段的交集绑定的一个闭合图形)。
BOOL Chord(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3,
int x4,
int y4
);
BOOL Chord(
LPCRECT lpRect,
POINT ptStart,
POINT ptEnd
);
参数
x1
指定个字符串的边框的左上角的x坐标(以逻辑单位)。y1
指定个字符串的边框的左上角的y坐标(以逻辑单位)。x2
指定个字符串的边框右下角的x坐标(以逻辑单位)。y2
指定个字符串的边框右下角的y坐标(以逻辑单位)。x3
指定定义个字符串的开始点的x坐标(以逻辑单位)。y3
指定定义个字符串的开始点的y坐标(以逻辑单位)。x4
指定定义个字符串的终结点点的x坐标(以逻辑单位)。y4
指定定义个字符串的终结点点的y坐标(以逻辑单位)。lpRect
指定边框(以逻辑单位)。可以通过 LPRECT 或一 CRect 对象此参数的。ptStart
指定该x,并定义个字符串的点的y坐标起点(在逻辑单位)。这在个字符串点不必完全位于。您可以通过一 POINT 结构或一 CPoint 对象此参数的。ptEnd
指定该x,并定义个字符串的点的y坐标终结点(以逻辑单位)。这在个字符串点不必完全位于。可以通过 POINT 结构或 CPoint 对象此参数的。
返回值
非零,如果函数运行成功;否则为0。
备注
(x1,y1)和(x2,y2)参数指定左上角和右下角,分别限制是个字符串的一部分的椭圆的,矩形。(x3,y3)和(x4,y4)参数指定相交椭圆线条的终点。通过使用将向选定的画笔,个字符串绘制通过使用将向选定的笔和加载。
Chord 功能绘制的该图中,扩展,但不包括右侧和底部坐标。这意味着运行的高度。y2 – y1 和该图中的宽度是 x2 – x1。
示例
void CDCView::DrawChord(CDC* pDC)
{
// Fill the client area with a circle. The circle is
// blue and filled with blue, but has a chord cut out
// of it from 3 o'clock to 6 o'clock. That chord is
// red and filled with a red diagonal hatch.
// Get the client area.
CRect rectClient;
GetClientRect(rectClient);
// Make a couple of pens and similar brushes.
CPen penBlue, penRed;
CBrush brushBlue, brushRed;
CBrush* pOldBrush;
CPen* pOldPen;
brushBlue.CreateSolidBrush(RGB(0, 0, 255));
brushRed.CreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));
penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));
// Draw from 3 o'clock to 6 o'clock, counterclockwise,
// in a blue pen with a solid blue fill.
pOldPen = pDC->SelectObject(&penBlue);
pOldBrush = pDC->SelectObject(&brushBlue);
pDC->Chord(rectClient,
CPoint(rectClient.right, rectClient.CenterPoint().y),
CPoint(rectClient.CenterPoint().x, rectClient.right));
// Draw the remaining quarter chord from 6 o'clock
// to 3 o'clock, counterclockwise, in a red pen
// with the hatched brush.
pDC->SelectObject(&penRed);
pDC->SelectObject(&brushRed);
// Keep the same parameters, but reverse start and
// end points.
pDC->Chord(rectClient,
CPoint(rectClient.CenterPoint().x, rectClient.right),
CPoint(rectClient.right, rectClient.CenterPoint().y));
// Restore the previous pen.
pDC->SelectObject(pOldPen);
}
要求
Header: afxwin.h