Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Abrir simultáneamente dos formularios Builder c++

Hola gente. Soy nuevo en el foro y les agradezco por aceptarme. Empiezo con una consulta.

Quiero crear una aplicación que al abrir un formulario (Form1), se abra automáticamente un segundo formulario (Form2), todos dentro del mismo proyecto. He leído que se logra utilizando el evento OnActivate del primer formulario, pero no lo logre. Si bien se abren los dos formularios, el primero queda como congelado y no permite hacerle nada. Como si la propiedad Enable estuviera en False, que no lo esta obviamente. Alguna sugerencia?
Responder Con Cita
  #2  
Antiguo 20-09-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y tu código para que lo veamos?

Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Responder Con Cita
  #3  
Antiguo 20-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si no interpreté mal lo que te sucede, intentalo de este modo:

Unit1.h:
Código PHP:
...

#define WM_AFTER_SHOW (WM_USER + 300)

class TForm1 : public TForm
{
__published:
  
void __fastcall FormShow(TObject *Sender);

private:
  
void __fastcall WMAfterShow(TMessagemsg);
  
BEGIN_MESSAGE_MAP;
    
MESSAGE_HANDLER(WM_AFTER_SHOWTMessageWMAfterShow);
  
END_MESSAGE_MAP(TForm);

public:
  
__fastcall TForm1(TComponentOwner);
};

... 
Unit1.cpp:
Código PHP:

#include "Unit2.h"
...

void __fastcall TForm1::WMAfterShow(TMessagemsg)
{
  
Form2->Show();
}

void __fastcall TForm1::FormShow(TObject *Sender)
{
  
//...
  //...
  
PostMessage(HandleWM_AFTER_SHOW00);
}

... 
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 20-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Hola, es verdad. Gracias por recordarmelo.

En Unit1.cpp tengo esto:
Código PHP:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

__fastcall TForm1::TForm1(TComponentOwner)
        : 
TForm(Owner)
{
}


void __fastcall TForm1::FormActivate(TObject *Sender)
{
Form2->Show();

En Unit2.cpp tengo esto otro:
Código PHP:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
__fastcall TForm2::TForm2(TComponentOwner)
        : 
TForm(Owner)
{


Última edición por ecfisa fecha: 20-09-2016 a las 22:30:17. Razón: Agregar etiquetas [php] [/php]
Responder Con Cita
  #5  
Antiguo 20-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

¿ Y ya probaste la sugerencia que te dí ?, por que a mi me funciona perfectamente...



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 21-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.
¿ Y ya probaste la sugerencia que te dí ?, por que a mi me funciona perfectamente...
Saludos
Hola, como estas. Todavía no lo probé, pero seguro que lo voy a hacer, porque te funciono.
Que tendrá mi código que deshabilita el primer formulario?
Responder Con Cita
  #7  
Antiguo 21-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
&ecfisa

Hola. Podrias subir el codigo completo y/o explicar para que sirve lo de WM_AFTER_SHOW. Por cierto, gracias a tu codigo acabo de descubrir lo de BEGIN_MESSAGE_MAP/END_MESSAGE_MAP (¡Algun dia tendre que leer la documentacion...!)

Un saludo

Responder Con Cita
  #8  
Antiguo 21-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

El mensaje personalizado WM_AFTER_SHOW, como su nombre lo sugiere, sirve para ejecutar código después del evento OnShow del form. Encontré un enlace que te podría resultar interesante: Messages and Events of Windows Controls.

También te adjunto el código fuente del ejemplo que solicitas.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (5,1 KB, 9 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 20-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Seguramente estas usando ShowModal() donde deberias usar Show().
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al cerrar o abrir varios formularios wolfran_hack Varios 1 10-07-2013 11:17:11
Problemas al abrir nuevas ventanas (Formularios) y mostrar imágenes... zeta2 Varios 2 23-04-2013 18:47:43
Abrir Formularios con el Proyecto Neeruu Varios 2 06-12-2012 00:50:57
Utilizar Simultaneamente Dbase y Acces simultaneamente y en Otras Aplicaciones carsan Conexión con bases de datos 1 24-10-2007 04:53:07
Utilizar Formularios Delphi en C++ Builder pmarin C++ Builder 1 04-06-2007 16:03:32


La franja horaria es GMT +2. Ahora son las 08:00:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi