RestoreDC

RestoreDCは、デバイスコンテキストの状態を復元する。

RestoreDC function | Microsoft Docs

SaveDCで取得した正の整数であるIDを指定すると、そのIDを取得した時の状態に戻せるが、負の整数-nを指定すると、現在からn回前の状態に復元することもできる。

RestoreDC.cppのWM_PAINTで、

-1は直前の状態なので青、 -2は2回前なので緑、 -3は3回前なので赤。

最初は、

最初
最初

黒だが、

3回前の赤
3回前の赤

3回前の赤。

2回前の緑
2回前の緑

2回前の緑。

直前の青
直前の青

直前の青。

と、このように負の数を指定しても復元できている。

Sample/winapi/RestoreDC/RestoreDC/src/RestoreDC at master · bg1bgst333/Sample · GitHub