winapi — Win32 c ++, изменяющий текст в прозрачном статическом элементе управления, доводит его до дна

Поэтому я использую код, написанный Вот перерисовать статический текст, но я заметил, что каждый раз, когда я делаю это, система переносит его назад (за статичной картинкой), и я не вижу его. Есть ли способ вернуть его на место или предотвратить это действие?

Код, который я использую для его перерисовки:

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;
}

-1

Решение

Неважно, я решил это с помощью SetWindowPos.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]