2

私は MFC を使用しており (ただし、これは Win32 にも当てはまります)、描画したいビューがあります。だから私は OnDraw メソッドをオーバーライドしています。ここにちょっとした疑似コードがあります。私は次のようにコーディングしています:

void OnDraw(DC* pDC)
{
  foreach(Node n in nodes)
  { 
    n->DrawOnCanvas(pDC)
  }
}

これは素晴らしいOOソリューションだと思いました。しかし、私は問題に遭遇しました。最初の DC の周りに境界線を引きたいのですが、ノードにこれを知られたくありません。ノードが 0,0 から始まる完全なキャンバス サイズに対して相対的に描画するようにしたい (オフセットについてはわからない)。親ウィンドウの境界線に関するノードの知識を与えると、面倒に見えます。
このような問題をどのように解決しますか?既存の DC に関連する新しい DC を定義するにはどうすればよいですか?

4

1 に答える 1