0

現在HGDIOBJ (実際にはHPEN ) を使用するためのLOGPEN構造を取得したいと思います。次のようなものがあるとしましょう。

CPen ColoredPen;
ColoredPen.Create(...);
...
HGDIOBJ PriorPen = SelectObject(PaintingDC, ColoredPen);

ここで、PriorPen からLOGPEN構造を取得する必要があります。私は2つの方法で試しました:

1. LOGPEN LogPen;
CPen* pPen = CPen::FromHandle((HPEN)PriorPen);
pPen->GetLogPen(&LogPen);

2. LOGPEN LogPen;
GetObject(PriorPen, sizeof(LogPen), &LogPen);

すべてのフィールドが 0 であるため、これらのどれも正しい LOGPEN 構造体オブジェクトを提供しません。また、実際の CPen の LOGPEN を取得しようとしましたが、完全に機能します。

ColoredPen.GetLogPen(&LogPen);

しかし、私は HPEN だけで作業する必要があります。私の質問は、どうすれば HPEN から LOGPEN を入手できますか?

4

1 に答える 1