グラフィック オブジェクトをデバイス コンテキストに選択する

このトピックは、ウィンドウのデバイス コンテキストでのグラフィック オブジェクトの使用に適用されます。 描画オブジェクトを作成したら、それをデバイス コンテキストに選択して、そこに格納されている既定のオブジェクトの代用にする必要があります。

void CNewView::OnDraw(CDC* pDC)
{
   CPen penBlack;  // Construct it, then initialize
   if (penBlack.CreatePen(PS_SOLID, 2, RGB(0, 0, 0)))
   {
      // Select it into the device context
      // Save the old pen at the same time
      CPen* pOldPen = pDC->SelectObject(&penBlack);

      // Draw with the pen
      pDC->MoveTo(20, 20);
      pDC->LineTo(40, 40);

      // Restore the old pen to the device context
      pDC->SelectObject(pOldPen);
   }
   else
   {
      // Alert the user that resources are low
   }
}

グラフィック オブジェクトの有効期間

SelectObject によって返されるグラフィック オブジェクトは "一時的" なものです。つまり、次にプログラムがアイドル時間を取得したときに、クラス CWinAppOnIdle メンバー関数によって削除されます。 SelectObject によって返される オブジェクトを、メイン メッセージ ループに制御を返さずに 1 つの関数で使用する限り、問題はありません。

さらに詳しい情報

関連項目

グラフィック オブジェクト