这段sdk双缓冲有什么问题
int i;
COLORREF rgb;
RECT clientRect;
HDC memdc;
HBITMAP bmp;
HBITMAP oldbmp;
int clientWidth;
int clientHeight;
GetClientRect(main_window_hwnd, &clientRect);
rgb = RGB(255,0,255);
clientWidth = clientRect.right - clientRect.left;
clientHeight = clientRect.bottom - clientRect.top;
// initialize memory DC
if (NULL == (memdc = CreateCompatibleDC(hdc)))
{
return 0;
}
bmp = CreateCompatibleBitmap(hdc, clientWidth, clientHeight);
//SetBkMode(memdc, TRANSPARENT);
oldbmp = SelectObject(memdc, &bmp);
FillRect(memdc, &clientRect, (HBRUSH) (COLOR_WINDOW+1));
//Circle_MPA(memdc, 200, 100, 50, rgb);
for (i = 50; i <300; i++)
{
SetPixel(memdc, i, 70, rgb);
}
BitBlt(hdc, 0, 0,
clientWidth, clientHeight,
memdc, 0, 0, SRCCOPY);
SelectObject(memdc, &oldbmp);
DeleteDC(memdc);
/////////////////////////////
图形显示不出来
[解决办法]
int i;
COLORREF rgb;
RECT clientRect;
HDC memdc;
HBITMAP bmp;
HBITMAP oldbmp;
int clientWidth;
int clientHeight;
GetClientRect(main_window_hwnd, &clientRect);
rgb = RGB(255,0,255);
clientWidth = clientRect.right - clientRect.left;
clientHeight = clientRect.bottom - clientRect.top;
// initialize memory DC
if (NULL == (memdc = CreateCompatibleDC(hdc)))
{
return 0;
}
bmp = CreateCompatibleBitmap(hdc, clientWidth, clientHeight);
//SetBkMode(memdc, TRANSPARENT);
oldbmp = (HBITMAP)SelectObject(memdc, bmp);
FillRect(memdc, &clientRect, (HBRUSH) (COLOR_WINDOW+1));
//Circle_MPA(memdc, 200, 100, 50, rgb);
for (i = 50; i <300; i++)
{
SetPixel(memdc, i, 70, rgb);
}
BitBlt(hdc, 0, 0,
clientWidth, clientHeight,
memdc, 0, 0, SRCCOPY);
SelectObject(memdc, oldbmp);
DeleteDC(memdc);