Как правильно обновить контент после вызова функции UpdateLayeredWindow?
Пожалуйста, посмотрите на код @Strive Sun из этого ответа. Как правильно обновить контент? Если я хочу добавить рисунок после UpdateLayeredWindow, например:
SolidBrush brush(Color(100, 0, 255, 0));
g.FillRectangle(&brush, 10, 10, 100, 100);
Нашел такой вариант:
//int err = GetLastError(); //pause @Strive Sun code
{
DeleteObject(bmp);
SolidBrush brush(Color(100, 0, 255, 0));
g.FillRectangle(&brush, 10, 10, 100, 100);
softwareBitmap.GetHBITMAP(Color(0, 0, 0, 0), &bmp);
SelectObject(memdc, bmp);
UpdateLayeredWindow(hwnd, 0, 0, &szWnd, memdc, &ptSrc, 0, &blend, ULW_ALPHA);
}
//SelectObject(hdc, original); //continue @Strive Sun code
Каждый раз, когда я что-то рисую (даже маленький пиксель), мне нужно удалить растровое изображение, воссоздать растровое изображение и снова выбрать объект Bitmap. Должно же быть более эффективное решение?