Поэтому я использую код, написанный Вот перерисовать статический текст, но я заметил, что каждый раз, когда я делаю это, система переносит его назад (за статичной картинкой), и я не вижу его. Есть ли способ вернуть его на место или предотвратить это действие?
Код, который я использую для его перерисовки:
vHWND = HWND элемента управления
wHWND = HWND окна
RECT rect;
GetClientRect(vHWND, &rect);
InvalidateRect(vHWND, &rect, TRUE);
MapWindowPoints(vHWND, wHWND, (POINT *)&rect, 2);
RedrawWindow(wHWND, &rect, NULL, RDW_ERASE | RDW_INVALIDATE);
Код для прозрачного bg:
case WM_CTLCOLORSTATIC: //Draw views transparent background
{
SetBkMode((HDC)wParam, TRANSPARENT); //BG Transp
return (LRESULT)GetStockObject(HOLLOW_BRUSH);
break;
}
Неважно, я решил это с помощью SetWindowPos.
Других решений пока нет …