原点を中央に置きたかったので、次のようにしました。
SetViewportOrgEx(hdc,width/2,height/2,NULL);
(以下のコードに見られるように)
現在、ダブルバッファリングを実装した後、正しく機能していないようです。ここでのベストプラクティスの理由と内容を教えてください。どうもありがとう
以下のコード:
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rect;
GetClientRect(hWnd, &rect);
int width=rect.right;
int height=rect.bottom;
//Changing Origin position
SetViewportOrgEx(hdc,width/2,height/2,NULL);
HDC backbuffDC = CreateCompatibleDC(hdc);
HBITMAP backbuffer = CreateCompatibleBitmap( hdc, width, height);
int savedDC = SaveDC(backbuffDC);
SelectObject( backbuffDC, backbuffer );
HBRUSH hBrush = CreateSolidBrush(RGB(255,255,255));
FillRect(backbuffDC,&rect,hBrush);
DeleteObject(hBrush);
//Drawing on backbuffDC
BitBlt(hdc,0,0,width,height,backbuffDC,0,0,SRCCOPY);
RestoreDC(backbuffDC,savedDC);
DeleteObject(backbuffer);
DeleteDC(backbuffDC);
EndPaint(hWnd, &ps);
}