Contents Up Previous Next

デバイスコンテキストの概要

クラス: wxBufferedDC, wxBufferedPaintDC, wxDC, wxPostScriptDC, wxMetafileDC, wxMemoryDC, wxPrinterDC, wxScreenDC, wxClientDC, wxPaintDC, wxWindowDC.

wxDC は図形やテキストを描画可能な デバイスコンテキスト です。デバイスコンテキストは汎用的な方法で、つまり同じ API を通して操作できる多くの出力デバイスを表現することを目的としています。

いくつかのデバイスコンテキストはウィンドウへの描画のために一時的に作成されます。これには wxScreenDCwxClientDCwxPaintDCwxWindowDC が該当します。各デバイスコンテキストの違いと、それを使用するタイミングについて以下で説明します。

wxClientDC、wxPaintDC、wxWindowDC を使用する場合、以下のようにウィンドウを引数に指定してスタック上にオブジェクトを作成してください。

  void MyWindow::OnMyCmd(wxCommandEvent& event)
  {
    wxClientDC dc(window);
    DrawMyPicture(dc);
  }
なるべく wxDC 型を使用してパラメータ化するようにしてください。このようにした場合、異なるデバイスコンテキストを渡すことで多くのデバイスに対して同じコードを使用することができます。これはすべての場合に当てはまるわけではありません (例えば、すべてのデバイスコンテキストがビットマップの描画に対応しているわけではありません) が、大半の場合はうまく行きます。