C/Visual C - DIALOG NO MODAL

 
Vista:

DIALOG NO MODAL

Publicado por edu (3 intervenciones) el 25/02/2001 06:36:11
Sabemos que para abrir un dialogo modal usamos

If Form.DoModal() = IDOK

Lei que para abrirlo NO MODAL se usa CREATE del objeto que extiende a
DIALOG.

Pero cuando puse esto:

Form.Create(ID_DIALOG1);

No paso nada despues de eso le puse

Form.Create(ID_DIALOG1);
Form.ShowWindow(WS_VISIBLE);

Y tampoco paso nada que tengo que confiurar en la clase que extiende a
DIALOG o como tengo que llamarla para que me pueda mostrar el formulario.

Atte.
Eduardo
Caracas-Vzla

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

Cómo mostrar un diálogo no modal en MFC

Publicado por Alejandro (1153 intervenciones) el 05/09/2024 23:53:11
Hola Eduardo.

Para abrir un diálogo no modal en MFC (Microsoft Foundation Classes) utilizando la función `Create`, necesitas seguir algunos pasos adicionales. Aquí tienes un ejemplo de cómo hacerlo:

1. En tu clase que extiende a `CDialog`, asegúrate de que tienes una función miembro `OnInitDialog` sobrescrita. Esta función se llama cuando se crea el diálogo y es un buen lugar para realizar la inicialización adicional.

2. En tu código, crea una instancia de tu clase de diálogo utilizando el operador `new`. Por ejemplo:

1
CMyDialog* pDialog = new CMyDialog();

3. Llama a la función `Create` en la instancia del diálogo para crear y mostrar el diálogo. Asegúrate de pasar el identificador de recurso del diálogo como parámetro. Por ejemplo:

1
pDialog->Create(ID_DIALOG1);

4. Llama a la función `ShowWindow` en la instancia del diálogo para mostrar el diálogo en la pantalla. Asegúrate de pasar el estilo `WS_VISIBLE` como parámetro. Por ejemplo:

1
pDialog->ShowWindow(SW_SHOW);

5. Llama a la función `UpdateWindow` en la instancia del diálogo para actualizar la ventana del diálogo. Por ejemplo:

1
pDialog->UpdateWindow();

Recuerda que, al utilizar un diálogo no modal, debes encargarte de liberar la memoria cuando ya no necesites el diálogo utilizando el operador `delete`. Por ejemplo:

1
delete pDialog;

Espero que estos pasos te ayuden a mostrar el formulario de diálogo no modal en MFC.

¡Buena suerte con tu desarrollo en Visual C++!

Atentamente,
Ale
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