Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Probema MessageBox y TPanel creado en tiempo de ejecucion

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Probema MessageBox y TPanel creado en tiempo de ejecucion Responder citando

Buenas..

He creado un Form(modal) en tiempo de ejecucion de la forma

Código:
TForm FORM1 = new TForm(this);

FORM1->ShowModal();


En un momento dado tengo que abrir un MessageBox, el problema es que desaparece FORM1 y todos sus componenentes y al cerrar el MessageBox, el FORM1 no reaparece...

¿Es incompatible un MessageBox en un componente creado en tiempo de ejecucion o existe alguna solucion para visualizar el Form?

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Intenta mantener el formulario en la parte superior:
Código:

TForm *FORM1 = new TForm(this);
FORM1->FormStyle = fsStayOnTop;
...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Muchas gracias por contestar...

He probado tu solucion y efectivamente el Form1 no desaparece, pero el problema ahora es que el MessageBox queda debajo del form y no se ve,
¿Alguna idea?

Gracias...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

si buscas en google por "messageBox rad studio" la primera pagina que sale del Wiki de RIO pone esto (codeexamples)

MessageBox (C++)

Description

The following code causes "stay on top" forms to allow a MessageBox to appear on top. After the message box is closed, the topmost forms are restored so that they continue floating to the top.

Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Application->NormalizeTopMosts();
#ifdef _DELPHI_STRING_UNICODE
Application->MessageBox(L"This should be on top.", L"Look", MB_OKCANCEL);
#else
Application->MessageBox("This should be on top.", "Look", MB_OKCANCEL);
#endif
Application->RestoreTopMosts();
}
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias por contestar...

yo desplego el MessageBox de la forma:

Código:
if (MessageBox(Handle,"Ese Nombre de Usuario ya esta asignado. Elija otro.","",
         MB_OK | MB_ICONERROR)== IDOK)
           {
           }


He intentado adaptar el codigo que me has proporcionado a mi cb6 pero no hay manera de que funcione... Sad

¿me puedes Guiar?

Gracias...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Buenas..

Efectivamente Alpinador, tenias toda la razon. el codigo funciona perfectamente, al final el problema era mio no del codigo ...

Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

de nada neg..... yo simplemente te puse lo que encontre en el WIKI de embarcadero aunque era de RX RIO..... no se si eso podria afectar ya que como hacen tantos cambios de una version a otra.... pues no se
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.