Cita de: naderST en 17 Septiembre 2011, 05:32 AM
TODO está en la MSDN pero te ayudo con lo siguiente para ponerle un icono a un botón tienes que usar el mensaje BM_SETIMAGE:Código (cpp) [Seleccionar]SendMessage(boton1, BM_SETIMAGE, (WPARAM) IMAGE_ICON, (LPARAM)hIcon1);
http://msdn.microsoft.com/en-us/library/bb761822(v=vs.85).aspx
Muchas gracias, era exactamente lo que buscaba.
Aclaro un pequeño punto que no sale en la MSDN por si alguien ojea este tema: BM_SETIMAGE no funciona en Windows XP sino añades BS_ICON o BS_BITMAP al definir el botón/edit/static/etcétera. Un ejemplo:
Código (cpp) [Seleccionar]
case WM_CREATE:
{
//Esto funcionaría en W7 pero no en XP
boton1 = CreateWindow ("Button", NULL, WS_CHILD | WS_VISIBLE | WS_TABSTOP, 20, 90, 40, 25, hwnd, (HMENU) ID_BOTON1, estancia, 0);
SendMessage(boton1, BM_SETIMAGE, (WPARAM) IMAGE_ICON, (LPARAM)hIcon1);
break;
}
Código (cpp) [Seleccionar]
case WM_CREATE:
{
//Ahora lo reconoce el Windows XP
boton1 = CreateWindow ("Button", NULL, BS_ICON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 20, 90, 40, 25, hwnd, (HMENU) ID_BOTON1, estancia, 0);
SendMessage(boton1, BM_SETIMAGE, (WPARAM) IMAGE_ICON, (LPARAM)hIcon1);
break;
}
En caso de que sea una imagen en vez de BS_ICON hay que usar BS_BITMAP.
Saludos.