CDC::Chord
Dessine une pression simultanée (une figure fermée limitées par l'intersection d'une ellipse et un segment de ligne).
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
);
Paramètres
x1
Spécifie la coordonnée x du coin supérieur gauche du rectangle englobant de la pression simultanée (en unités logiques).y1
Spécifie l'ordonnée du coin supérieur gauche du rectangle englobant de la pression simultanée (en unités logiques).x2
Spécifie la coordonnée x du coin inférieur droit du rectangle englobant de la pression simultanée (en unités logiques).y2
Spécifie l'ordonnée du coin inférieur droit du rectangle englobant de la pression simultanée (en unités logiques).x3
Spécifie la coordonnée x du point qui définit le point de départ de la pression simultanée (en unités logiques).y3
Spécifie la coordonnée y du point qui définit le point de départ de la pression simultanée (en unités logiques).x4
Spécifie la coordonnée x du point qui définit le point de terminaison de la pression simultanée (en unités logiques).y4
Spécifie la coordonnée y du point qui définit le point de terminaison de la pression simultanée (en unités logiques).lpRect
Spécifie le rectangle englobant (en unités logiques). Vous pouvez passer LPRECT ou un objet de CRect pour ce paramètre.ptStart
Spécifie les coordonnées x et y du point qui définit le point de départ de la pression simultanée (en unités logiques). Ce point ne doit pas exactement reposer sur la pression simultanée. Vous pouvez passer une structure de POINT ou un objet d' CPoint pour ce paramètre.ptEnd
Spécifie les coordonnées x et y du point qui définit le point de terminaison de la pression simultanée (en unités logiques). Ce point ne doit pas exactement reposer sur la pression simultanée. Vous pouvez passer une structure de POINT ou un objet de CPoint pour ce paramètre.
Valeur de retour
Une valeur différente de zéro si la fonction est réussie ; sinon 0.
Notes
(x1, y1) et (x2, y2) des paramètres spécifiez le supérieur gauche et les angles inférieur droit, respectivement, d'un rectangle englobant de l'ellipse qui fait partie de la pression simultanée. (X3, y3) et (x4, y4) des paramètres spécifiez les points de terminaison d'une ligne qui recoupe l'ellipse. La pression simultanée est dessinée à l'aide de le stylet sélectionné et remplie à l'aide de le pinceau sélectionné.
L'illustration dessinée par la fonction d' Chord s'étend jusqu'à, mais pas les coordonnées de droit et inférieur. Cela signifie que la hauteur de l'image est y2 – y1 et la largeur de l'illustration est x2 – x1.
Exemple
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);
}
Configuration requise
Header: afxwin.h