| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Vie 24 Oct, 2008 9:13 am Asunto: Problema al mostrar Form |
|
|
Buenas:
Tengo un programa que Al iniciarse muestra en pantalla un menu (Form Principal),El caso es que en el evento Form Activate el programa lee una gran cantidad de datos de un archivo, lo que le lleva un monton de tiempo.....Esto produce que del formulario menu se muestre en principio una parte (los bordes y el resto en Blanco) y al rato (una vez leidos los datos del archivo) el resto del form (las opciones del menu,imagenes,botones.....).
Es posible hacer que lea primero todos los datos y despues muestro el form completo .
Espero que me haya explicado Bien.
PostData: Como puedo centrar un form Hijo dentro de un Form Principal
Gracias. |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 24 Oct, 2008 11:55 am Asunto: Re: Problema al mostrar Form |
|
|
| neg1414 escribió: | | Buenas: |
Buenas
| neg1414 escribió: | | Es posible hacer que lea primero todos los datos y despues muestro el form completo . |
A mi me ocurre con frecuencia, pero la única alternativa que he encontrado es hacer esa carga en OnCreate, pero tiene la pega de que no se ve NADA en pantalla y puede dar la impresión que no se está ejecutando nada.
| neg1414 escribió: | | PostData: Como puedo centrar un form Hijo dentro de un Form Principal |
Pon la propiedad Position del Form como poMainFormCenter o poOwnerFormCenter. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 24 Oct, 2008 11:38 pm Asunto: |
|
|
Prueba usar los procesos que indicas en el evento OnShow() del Form, de la siguiente manera puedes declarar una variable global o una dentro de la clase del Form que sirva como "bandera"
Ejemplo:
En el .h
| Código: | //---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
void __fastcall FormShow(TObject *Sender);
private: // User declarations
bool EjecutarUnaVez; // declaramos la variable "bandera"
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif |
En el .cpp | Código: | //---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// activamos la variable para ejecutarse una sola vez
this->EjecutarUnaVez = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
if( this->EjecutarUnaVez == true)
{
this->EjecutarUnaVez = false;
// desde aqui puedes poner todos los procesos que usas dentro
// del OnActivate
}
}
//--------------------------------------------------------------------------- |
_________________
 |
|
| Volver arriba |
|
 |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Sab 25 Oct, 2008 12:44 am Asunto: |
|
|
lo que yo aria seria mostrar un splash screen cuando se esta cargando la aplicación.
Saludos. _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
|