I would like to get LOGPEN structure for currently using HGDIOBJ(which is actually HPEN). Lets assume we have something like this:
CPen ColoredPen;
ColoredPen.Create(...);
...
HGDIOBJ PriorPen = SelectObject(PaintingDC, ColoredPen);
Now I need to get LOGPEN structure from PriorPen. I tried in 2 ways:
1. LOGPEN LogPen;
CPen* pPen = CPen::FromHandle((HPEN)PriorPen);
pPen->GetLogPen(&LogPen);
2. LOGPEN LogPen;
GetObject(PriorPen, sizeof(LogPen), &LogPen);
None of these give me a correct LOGPEN structure object because all fields are 0. I also tried to get LOGPEN for actual CPen and it works perfectly:
ColoredPen.GetLogPen(&LogPen);
but I need to work only with HPEN. So my question is how can I get LOGPEN from HPEN?