Problema con control STATIC

Iniciado por Riki_89D, 21 Septiembre 2011, 16:12 PM

0 Miembros y 2 Visitantes están viendo este tema.

Riki_89D

Hola que tal,intenot poner un color de fondo en un static,tengo 4 statics en la APP,tengo el siguiente code:


Código (cpp) [Seleccionar]


#define ID_SIMAGE1 02
SIMAGE1 = CreateWindowEx(0,"STATIC","",SS_LEFT|WS_VISIBLE|WS_CHILD|SS_ICON,210,40,50,50,Man,(HMENU)ID_SIMAGE1,0,0);

case WM_CTLCOLORSTATIC:
{
if((HWND) lParam == GetDlgItem(Man,ID_SIMAGE1))
{
SetBkColor((HDC)wParam,0x1d1c1c);
}



Pues nada no cambia de color....:(


ya nse que mas probar

naderST

Prueba esto:

Código (cpp) [Seleccionar]
SetBkColor((HDC)wParam,RGB(29,28,28));

Y sino funciona asegúrate que se este cumpliendo la condición del if.

Riki_89D

Pues no,lo probe y nada no funciono,el IF comipla :S



:( si no hay solucion no abra mas narices que poner la imagen del mismo color que el fondo,pero yo queria hacerlo profesionalmente :(



saludos

naderST

Pero si la imagen no es transparente no se va a mostrar el color que estas asignando... Algo debe estar mal.

Karman

Cita de: Riki_89D en 21 Septiembre 2011, 16:12 PMHola que tal,intenot poner un color de fondo en un static,tengo 4 statics en la APP

si mirás la documentación del mensaje WM_CTLCOLORSTATIC:

CitarIf an application processes this message, the return value is a handle to a brush that the system uses to paint the background of the static control.

case WM_CTLCOLORSTATIC:
  if((HWND) lParam == GetDlgItem(Man,ID_SIMAGE1))
    return CreateSolidBrush(0x1d1c1c);


S2

Riki_89D

#5
Hola que tal?¿,bien,eso si funciono :),la proxima vez antes de preguntar mirare de leerme bien la documentacion de la msdn,siento las molestas y gracias de verdad!!


saludos


ADJUNTO:

Por cieto una ultima duda,acabo de repsar en la MSDN el mensaje WM_MOUSEMOVE,lo necesito para un cotntrol BUTTON,pero estoy intentando aver como detectar cuando el raton pasa por encima del control,parece que ese mensaje solo funciona con la ventana principal,e mirado muchos ejemplo pero no e sacado nada de bueno,alguein sabe algo al respecto?


gracias!!

naderST

SetWindowLongPtr y GWLP_WNDPROC para que "interceptes" los mensajes del botón.

CitarReturn value

Type: LONG_PTR

If the function succeeds, the return value is the previous value of the specified offset.