【发布时间】:2016-09-19 19:08:08
【问题描述】:
对GetLogPen() 和GetExtLogPen() 的调用均失败。他们返回零......
CBrush Brush;
Brush.CreateSolidBrush( COLOR_MINORSELECTION );
Brush.GetLogBrush( &lBrush );
DWORD Style[] = { 3, 1 };
CPen CustomPen;
CustomPen.CreatePen( PS_USERSTYLE, 1, &lBrush, 2, Style );
CPen *pOldPen = pDC->SelectObject( &CustomPen );
LOGPEN LogPen;
if( CustomPen->GetLogPen( &LogPen ) == 0 )
{
EXTLOGPEN ExtLogPen;
if( CustomPen->GetExtLogPen( &ExtLogPen ) == 0 )
return;
}
失败似乎是因为PS_USERSTYLE 被用于笔样式。如果我使用PS_SOLID 笔执行此操作,我会按预期填充LogPen 结构。
有什么想法吗?
【问题讨论】: