CPen::CPen
Construit un objet CPen.
CPen( );
CPen(
int nPenStyle,
int nWidth,
COLORREF crColor
);
CPen(
int nPenStyle,
int nWidth,
const LOGBRUSH* pLogBrush,
int nStyleCount = 0,
const DWORD* lpStyle = NULL
);
Paramètres
nPenStyle
Spécifie le style de stylet.Ce paramètre dans la première version du constructeur peut avoir l'une des valeurs suivantes :PS_SOLID crée un stylet plein.
PS_DASH crée un stylet au tiret.Valide uniquement lorsque la largeur du stylet est inférieure ou égale à 1, dans les unités.
PS_DOT crée un stylet en pointillés.Valide uniquement lorsque la largeur du stylet est inférieure ou égale à 1, dans les unités.
PS_DASHDOT crée un stylet avec des tirets et les points alternatifs.Valide uniquement lorsque la largeur du stylet est inférieure ou égale à 1, dans les unités.
PS_DASHDOTDOT crée un stylet avec des tirets et les points alternatifs de double.Valide uniquement lorsque la largeur du stylet est inférieure ou égale à 1, dans les unités.
PS_NULL crée un stylet null.
PS_INSIDEFRAME crée un stylet qui dessine une ligne dans le frame des formes fermées produites par les fonctions de sortie à Windows GDI qui spécifient un rectangle englobant (par exemple, Ellipse, Rectangle, RoundRect, Pieles fonctions membres, et d' Chord ).Lorsque ce style est utilisé avec les fonctions de sortie à Windows GDI qui ne spécifient pas un rectangle englobant (par exemple, la fonction membre d' LineTo ), la zone de dessin du stylet n'est pas limitée par un frame.
La deuxième version du constructeur d' CPen spécifie une combinaison de type, de style, de fin de fin, et d'attributs de jointure.Les valeurs de chaque catégorie doivent être combinées à l'aide de l'opérateur de bits OR (|).Le type de stylet peut avoir l'une des valeurs suivantes :
PS_GEOMETRIC crée un stylet géométrique.
PS_COSMETIC crée un stylet cosmétique.
La deuxième version du constructeur d' CPen ajoute les styles suivants de stylet pour nPenStyle:
PS_ALTERNATE crée un stylet qui définit chaque autre pixel.(Ce style s'applique uniquement pour les stylets cosmétiques.)
PS_USERSTYLE crée un stylet qui utilise un tableau dénommante fournie par l'utilisateur.
Fin de fin peut avoir l'une des valeurs suivantes :
Les conseils de fin dePS_ENDCAP_ROUND sont rondes.
Les conseils de fin dePS_ENDCAP_SQUARE sont carré.
Les conseils de fin dePS_ENDCAP_FLAT sont en deux dimensions.
La jointure peut avoir l'une des valeurs suivantes :
Les jointures dePS_JOIN_BEVEL sont taillées.
Les jointures dePS_JOIN_MITER sont taillées lorsqu'elles sont dans le jeu de limite actuellement par la fonction de SetMiterLimit .Si la jointure dépasse cette limite, il est taillée.
Les jointures dePS_JOIN_ROUND sont rondes.
nWidth
Spécifie la largeur du stylet.Pour la première version du constructeur, si cette valeur est 0, la largeur des unités est toujours 1 pixel, quel que soit le mode de mappage.
Pour la deuxième version du constructeur, si nPenStyle est PS_GEOMETRIC, la largeur est spécifiée en unités logiques.Si nPenStyle est PS_COSMETIC, la largeur doit être définie à 1.
crColor
Contient une couleur RVB pour le stylet.pLogBrush
Pointe vers une structure d' LOGBRUSH .Si nPenStyle est PS_COSMETIC, le membre d' lbColor de la structure d' LOGBRUSH spécifie la couleur du stylet et le membre d' lbStyle de la structure d' LOGBRUSH doit avoir la valeur BS_SOLID.Si nPenStyle est PS_GEOMETRIC, tous les membres doivent être utilisés pour spécifier les attributs de pinceau du stylet.nStyleCount
Spécifie la durée, en unités de mot dupliqué, du tableau d' lpStyle .Cette valeur doit être égal à zéro si nPenStyle n'est pas PS_USERSTYLE.lpStyle
Pointe vers un tableau de valeurs de mot double.La première valeur spécifie la longueur du premier tiret dans un style défini par l'utilisateur, la deuxième valeur spécifie la longueur du premier espace, et ainsi de suite.Ce pointeur doit être NULL si nPenStyle n'est pas PS_USERSTYLE.
Notes
Si vous utilisez le constructeur sans argument, vous devez initialiser l'objet résultant d' CPen avec CreatePen, CreatePenIndirect, ou des fonctions membres d' CreateStockObject .
Si vous utilisez le constructeur qui accepte les arguments, aucune autre initialisation n'est nécessaire.Le constructeur avec des arguments peut lever une exception si des erreurs se produisent, tandis que le constructeur sans argument réussit toujours.
Exemple
// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));
// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
Configuration requise
Header: afxwin.h