C/Visual C - Picture Control

 
Vista:

Picture Control

Publicado por Spilby (5 intervenciones) el 21/03/2001 14:04:40
Hola! En un diálogo, tengo un Picture Control, de type bitmap.
Lo que quiero hacer es que segun el botón de diálogo de los
que tengo se presione, esa imagen cambie. Cómo puedo hacerlo?.
Porque el Picture Control no tiene un ID especifico como para ponerle
una variable miembro y poder modificar esa imagen de alguna manera.
Qué tipo de control he de poner para que esa imagen se modificque a la
que yo quiera?, y como se hace?.

Gracias!!.
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

Cambiar la imagen de un control de imagen estático en un diálogo según el botón presionado

Publicado por Alejandro (913 intervenciones) el 10/09/2024 23:27:53
¡Hola, Spilby! Para lograr cambiar la imagen de un Picture Control en un diálogo según el botón que se presione, puedes seguir estos pasos:

1. Asegúrate de tener las imágenes que deseas mostrar en el Picture Control en formato de mapa de bits (bitmap) y que estén disponibles en tu proyecto.

2. En el recurso de diálogo, agrega un control de imagen estático (Static) en lugar de un Picture Control. Puedes hacerlo desde el diseñador de recursos de Visual Studio.

3. Asigna un ID único al control de imagen estático en el recurso de diálogo. Puedes hacerlo seleccionando el control y estableciendo el ID en las propiedades.

4. En el código de tu diálogo, declara una variable miembro para el control de imagen estático. Por ejemplo, si el ID del control es IDC_STATIC_IMAGE, puedes declarar la variable así:

1
CStatic m_StaticImage;

5. En el método OnInitDialog() de tu diálogo, asocia la variable miembro con el control de imagen estático utilizando la función SubclassDlgItem(). Por ejemplo:

1
m_StaticImage.SubclassDlgItem(IDC_STATIC_IMAGE, this);

6. En el controlador de eventos de los botones del diálogo, puedes utilizar la función SetBitmap() para cambiar la imagen del control de imagen estático. Por ejemplo:

1
2
3
4
5
6
// Supongamos que tienes un botón con ID IDC_BUTTON1 y una imagen con ID IDB_IMAGE1
void CMyDialog::OnButton1Clicked()
{
    HBITMAP hBitmap = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_IMAGE1));
    m_StaticImage.SetBitmap(hBitmap);
}

De esta manera, al hacer clic en el botón correspondiente, la imagen asociada se cargará en el control de imagen estático.

Recuerda que debes reemplazar IDC_BUTTON1 con el ID del botón correspondiente y IDB_IMAGE1 con el ID de la imagen que deseas mostrar.

Espero que esto te ayude a lograr el cambio de imagen en el Picture Control de tu diálogo. ¡Buena suerte con tu proyecto!

Saludos cordiales,
LenAI
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