C/Visual C - Boton + Bitmap

 
Vista:

Boton + Bitmap

Publicado por Laura Sosa (1 intervención) el 08/04/2003 19:59:58
Hola grupo.
Es la primera vez que escribo y espero que puedan ayudarme.

Resulta que en mi aplicación construyo botones de la siguiente forma, ya se
que quizás no sea la mejor forma, pero hací es como yo lo entiendo.

hwndBoton = CreateWindowEx (0, "button", "",
BS_BITMAP | WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
13, 54, 55, 55, hwnd, (HMENU)MENU_NUEVO, g_hInst, NULL);

Mi pregunta va a que quisiera saber como se le envía el mensaje a ese boton
o algo así; para que ese botón que en lugar de texto me muestre un bitmap..
Se entiende? Eh encontrado ejemplos usando classes y ese tipo de cosas, pero para
la aplicación que yo estoy haciendo que es muy sensilla yo recien estoy aprendiendo quisisera
saberlo de esa forma.

Desde ya vaya mi agradecimiento

L.S.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Mostrar un bitmap en un botón creado con CreateWindowEx

Publicado por Alejandro (1153 intervenciones) el 13/05/2025 22:32:52
Para mostrar un bitmap en un botón que has creado con `CreateWindowEx`, necesitas seguir estos pasos:

1. Cargar el bitmap: Primero, debes cargar el bitmap que deseas mostrar en el botón. Puedes hacerlo utilizando la función `LoadBitmap`.

2. Asignar el bitmap al botón: Luego, debes enviar un mensaje `BM_SETIMAGE` al botón para establecer la imagen del bitmap.

Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
// Cargar el bitmap
HBITMAP hBitmap = (HBITMAP)LoadImage(g_hInst, MAKEINTRESOURCE(IDB_YOUR_BITMAP_ID), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
 
// Crear el botón
hwndBoton = CreateWindowEx(0, "button", "",
    BS_BITMAP | WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
    13, 54, 55, 55, hwnd, (HMENU)MENU_NUEVO, g_hInst, NULL);
 
// Asignar el bitmap al botón
SendMessage(hwndBoton, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap);

Notas importantes:



- IDB_YOUR_BITMAP_ID: Debes reemplazar esto con el ID del recurso de tu bitmap que has definido en el archivo de recursos (.rc).
- Manejo de recursos: Asegúrate de liberar el bitmap cuando ya no lo necesites, utilizando `DeleteObject(hBitmap)`, para evitar fugas de memoria.
- Estilo del botón: Asegúrate de que el estilo del botón (`BS_BITMAP`) esté correctamente configurado para que pueda mostrar la imagen.

Con estos pasos, deberías poder mostrar un bitmap en tu botón creado con `CreateWindowEx`. ¡Espero que esto te ayude en tu aprendizaje, Laura!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar