SelectObject

SelectObjectは、指定されたデバイスコンテキストが描画を行うときに使うGDIオブジェクトを選択させるWindowsAPI・・・。

SelectObject 関数

1つのデバイスコンテキストは、ペン、ブラシ、フォントなどのGDIオブジェクトをそれぞれ1種類につき1つずつだけ選択できる・・・。
別の色やフォントに変更するときは、SelectObjectで選択しなおす必要がある・・・。

BLACK_PENとGRAY_BRUSHを選択して、ふちが黒で中が灰色の矩形にする・・・。

SelectObjectの戻り値は、選択される前に使っていたGDIオブジェクト・・・。
よって、元々のペンを保持しておくhOldPen、元々のブラシを保持しておくhOldBrushを用意しておく・・・。

GetStockObjectで取得した黒いhPenと灰色のhBrush・・・。

それらをSelectObjectで選択・・・。古いのはhOldPen、hOldBrushに入れておく・・・。

Rectangleで矩形を描画・・・。
この矩形は、黒いふち(BLACK_PEN)で、灰色で塗りつぶされている(GRAY_BRUSH)・・・。

描画が終わったら、元のGDIオブジェクトに戻さなければいけないので、

hOldPenとhOldBrushで選択しなおす・・・。

実行すると、

f:id:BG1:20150404224250p:plain

黒いふちで、灰色で塗りつぶされた矩形になっている・・・。

Sample/SelectObject.cpp at master · bg1bgst333/Sample · GitHub