我的现状是这样的:
我的背景在按钮1下是透明的,按钮2下是不透明的,仪表盘需要不断地去刷新,也就是我需要不断地去全屏刷新,可是这样会导致按钮闪烁,我用了内存dc的,可是在createWindows怎么创建到内存DC下呢?
代码是这样的:
static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
switch (message)
{
case MSG_CREATE:
hslider = CreateWindow (CTRL_TRACKBAR, "Speed:", WS_CHILD | WS_VISIBLE | SS_RIGHT | TBS_TIP | TBS_NOTIFY, IDC_CTRL_TRACKBAR, 50, 410, 700, 58, hWnd, 0);
break;
case MSG_TIMER:
InvalidateRect (hWnd, &msg_rc, FALSE);
break;
case MSG_PAINT:
hdc = BeginPaint (hWnd);
mem_dc = CreateCompatibleDC(hdc);
.......//Paint other parts
BitBlt (mem_dc, 0, 0, 800, 480, hdc, 0, 0, 0);
DeleteCompatibleDC (mem_dc);
EndPaint (hWnd, hdc);
//show subwindow
ShowWindow(scorl_wnd, SW_SHOWNORMAL);
}
}
这样绘制会导致闪烁,请教各位大神了!