またまた、お邪魔します。
下記のように本来「ウインドープロシージャー」内に記述するペイント命令ですが、
1部を注釈にしてWinMain関数内で実行すると、描画できました。
本来「ウインドープロシージャー」内に置いてInvalidateRect(hwnd,NULL,FALSE );で
強制描画させるのが一般的ですが、私のような描画方法は間違っているでしょうか?
今のところ成功していますが、グラフィックカードとか他の環境では失敗するでしょうか?
テキスト描画の場合も含めてお尋ねします。
HDC hdc=GetDC(hwnd);
PAINTSTRUCT ps;
//case WM_PAINT:
//hdc = BeginPaint(hwnd, &ps);
HPEN hPen = CreatePen(PS_SOLID , 1 , RGB(255 , 0 , 0));//スタイル,太さ,色
HBRUSH hBrush = CreateSolidBrush(RGB(0 , 255 , 0));//塗りつぶしの色
SelectObject(hdc , hPen);
SelectObject(hdc , hBrush);
Rectangle(hdc , 0 , 0 , 100 , 100 );//塗りつぶし長方形
MoveToEx(hdc, 0, 0, NULL); LineTo(hdc , 100 , 100);//線
DeleteObject(hBrush);
DeleteObject(hPen);
//EndPaint(hwnd, &ps);
//break;
ウインドープロシージャーについて
Re:ウインドープロシージャーについて
メッセージループ内で処理しているのでしょうか?
であるならば、本来描画する必要がないときにも描画処理をしてしまって無駄にCPUコストを食います。
Windowsプログラミングの"お作法"に則っていないのでお行儀が悪い。という所ではないでしょうか?
であるならば、本来描画する必要がないときにも描画処理をしてしまって無駄にCPUコストを食います。
Windowsプログラミングの"お作法"に則っていないのでお行儀が悪い。という所ではないでしょうか?
Re:ウインドープロシージャーについて
keichan 様
早速の回答感謝します。
さて、もはや時代はDOSではないのですね・・・
Windowsは共同社会でした・・・
自分の処理スピードのみ追及していましたが、これからは共同社会の
一員としてマナーを守って住み良い住人になります。
早速の回答感謝します。
さて、もはや時代はDOSではないのですね・・・
Windowsは共同社会でした・・・
自分の処理スピードのみ追及していましたが、これからは共同社会の
一員としてマナーを守って住み良い住人になります。