Hola grupo,
Estoy intentando hacerme una clase que derive de CStatic. Todo va bien,
exceptuando cuando cambio el texto en tiempo de ejecución, el efecto que
se produce es que se "solapan" el texto antiguo y el texto nuevo.
Esto es lo que hago:
void CMyStatic2::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC *dcbuff = CDC::FromHandle(lpDrawItemStruct->hDC);
COLORREF clrBackGrnd = RGB(255,255,255);
COLORREF clrTextOld = dcbuff->GetTextColor();
COLORREF clrTextNew = RGB(255,255,255);
CRect crctRect(lpDrawItemStruct->rcItem);
CString cstrTexto;
GetWindowText(cstrTexto);
dcbuff->SetBkMode(TRANSPARENT);
dcbuff->SetTextColor(clrTextNew);
dcbuff->DrawText(cstrTexto,crctRect,DT_LEFT|DT_VCENTER|DT_SINGLELINE);
dcbuff->SetTextColor(clrTextOld);
UpdateData(FALSE);
}
He probado ha escribir el texto con TextOut, y ha escribir una cadena de
espacios en blanco antes de la salida, pero sin éxito.
Leer las respuestas