Rectangleで、リソースが解放されない
只今 Borland C コンパイラ 5.5.1 においてプログラムを書いているのですが、(C言語)
仕様なのかどうなのか、ある処理でウィンドウのサイズを
ぐりぐり動かしつづけるとリソースが減っていって
フリーズしていしまいます。使用しているWindowsは98SEです。
そのプログラムは、ウィンドウプロシージャにおいて、
case WM_PAINT:
hdc = BeginPaint(hWnd,&ps);
hPen = CreatePen(PS_SOLID, 0, RGB(255,0,0));
hOldPen = (HPEN)SelectObject(hdc, hPen);
hBrush = CreateSolidBrush(RGB(0,255,0));
Rectangle(hdc, 10,10,100,100);
DeleteObject(hPen);
SelectObject(hdc, hOldPen);
DeleteObject(hBrush);
DeleteObject(hOldPen);
EndPaint(hWnd,&ps);
break;
という風に、Rectangle関数で画面に四角形を描画しているのですが、どうも上記の処理を何度も行うことにより
リソースが解放されずに大量に消費されてしまいます。
C言語においてはまだ少しわかるほどのレベルで、
殆どの関数の意味を今だに理解していなくプログラムの
文法になにかしらの間違いがあるかもしれませんが、
ご指摘いただければ幸いです。
お礼
文法はもう(高校レベル)は大丈夫です。 今後、英文を読む際、意識的な文法から解放されるのかが興味があります。 ありがとうございます。