1

私はmfcでこのようなものを実装しようとしています:

いくつかの子ウィンドウを含む親ウィンドウ。ウィンドウが親ウィンドウ内のどこかにドラッグされているときはいつでも、子ウィンドウの周りに水平および垂直のグリッド線が表示されるようにします。そのために、子の OnPaint() ハンドラーで動きを追跡し、親にアクセスして、子の周りにこれらのグリッド線を描画しています。しかし、それは私が望むように振る舞っていません。

私の推測では、子の OnPaint() は子の描画領域のみを更新するので、親の DC にアクセスしても、再描画されない限り何も描画できませんか?

上記の機能を実現するためのより適切な方法を提案できる人はいますか? 私は何を間違っていますか?子の OnPaint() ですべてが発生する必要があります

4

2 に答える 2

0

1 つの方法は、親ウィンドウにデータを渡し、その Invalidate 関数を呼び出すことです。次に、独自の OnPaint でグリッド線をペイントします。

または、子から親ウィンドウに直接ペイントすることもできますが、子の DC を使用する代わりに、親の GetDC 関数を使用します。

于 2013-07-27T21:19:50.520 に答える