Ciao a tutti,
in una applicazione Win32 in C++ ho settato il background di un controllo static a trasparente in questo modo:
codice:
info = CreateWindowEx(WS_EX_TRANSPARENT, "STATIC", "", WS_CHILD | WS_VISIBLE, 280, 100, 200, 200, hwnd, (HMENU) ID_INFO, hInstance, 0);
.....
case WM_CTLCOLORSTATIC:
if((HWND) lParam == info){
DWORD id = GetDlgCtrlID(info);
if(id==ID_INFO){
SetBkMode((HDC) wParam, TRANSPARENT);
return (LRESULT) GetStockObject(NULL_BRUSH);
}
}
break;
Il problema è che quando ci scrivo sopra con SetWindowText, il testo contenuto in precedenza non viene cancellato e quello nuovo si sovrappone al vecchio, rendendo il tutto illeggibile! Se il background non è trasparente non ci sono questi problemi. Come mai? Come posso risolverlo?