2012-01-20 10 views

Respuesta

5
CDC* pDc= GetDC(); 
COLORREF crBkgnd = pDc->GetBkColor(); 
6

Hay un color de fondo predeterminado para Windows, use GetSysColor (COLOR_WINDOW). Pero en última instancia, una ventana decide qué es "fondo" y qué es "primer plano". Afectado por WNDCLASS.hbrBackground y los manejadores de mensajes WM_ERASEBKGND y WM_PAINT de la ventana. Todo es posible.

+0

+1 para 'hbrBackground'. No está necesariamente configurado, pero en ese caso debe preguntarse si existe un color de fondo. (Por ejemplo, ventanas transparentes y similares) – MSalters

+0

También puede verse afectado por el mensaje WM_CTL_COLOR si se invalida el comportamiento predeterminado de OnCtlColor. – sergiol

Cuestiones relacionadas