方法的签名通常如下:
BOOL CreatePenIndirect(
const LOGPEN* lpLogPen
);
其中 lpLogPen 是一个指向 LOGPEN 结构的指针,该结构描述了要创建的画笔的属性。LOGPEN 结构的定义可能如下:
typedef struct tagLOGPEN {
UINT lopnStyle;
POINT lopnWidth;
COLORREF lopnColor;
} LOGPEN;
使用 CreatePenIndirect 的示例可能如下:
LOGPEN logPen;
logPen.lopnStyle = PS_SOLID;
logPen.lopnWidth.x = 2;
logPen.lopnColor = RGB(255, 0, 0);
CPen myPen;
myPen.CreatePenIndirect(&logPen);
这样,通过 CreatePenIndirect 方法,您可以使用 LOGPEN 结构动态地创建画笔对象,而不必手动指定每个参数。
与 CreatePen 一样,使用 CreatePenIndirect 后,通常不需要手动释放资源。CPen 对象会在其生命周期结束时自动管理与之关联的 GDI 画笔资源。
转载请注明出处:http://www.zyzy.cn/article/detail/21719/MFC/CPen