Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
void foo(HWND hWnd){
if (IsWindow(hWnd))
{
ShowWindow(hWnd, SW_HIDE);
}
}
if (IsWindow(hWnd))
{
HDC hDC;
hDC = GetWindowDC(hWnd);
Rectangle(hDC, 100, 100, 200, 200);
}
case WM_CREATE:
{
hbm = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_IMAGE));
}
break;
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
Rectangle(hdc, 10, 10, 110, 110);
BITMAP bm;
HDC hdcMem = CreateCompatibleDC(hdc);
HBITMAP hbmOld = (HBITMAP)SelectObject(hdcMem, hbm);
GetObject(hbm, sizeof(bm), &bm);
BitBlt(hdc, 200, 200, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, hbmOld);
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
}
break;
При сворачивании/разворачивании форме посылается сообщение WM_PAINT, так что в любом случае нужно перерисовывать.Только его надо перерисовывать, можно ли как то этого избежать?
Нет, InvalidateRect стандартный способ уведомить форму, о том что ей нужно выполнить перерисовку. Другое дело, что можно указывать только нужную область для очистки, а не всю форму.Что бы удалить пред рисовки InvalidateRect(hWnd,NULL,RDW_ERASE); есть способ лучше?