ウインドープロシージャーについて
Posted: 2007年5月24日(木) 09:54
またまた、お邪魔します。
下記のように本来「ウインドープロシージャー」内に記述するペイント命令ですが、
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;
下記のように本来「ウインドープロシージャー」内に記述するペイント命令ですが、
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;