FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
minimizar formulario
Hola, tengo un formulario de bienvenida que pide una contraseña, en cuanto se introduce correctamente, hago lo siguiente:
Código:
TfrmMain *frmMain; frmMain = new TfrmMain(this); frmPassword->Visible=false; frmMain->Timer1->Enabled=true; frmMain->ShowModal(); Código:
this->Close(); frmPassword->Close(); El problema que tengo es que cuando estoy en el segundo formulario (con el de la contraseña visible =false), y le doy a minimizar en lugar de aparecerme en la barra de inicio, se va a abajo a la izquierda y desaparece, por lo q me toca dar ALT+TAB para volver a restaurarlo... Como propiedades he puesto: Botones de cerrar y minimizar el estilo del borde single style form normal posicion desktop center y windows state Normal Alguna idea de pq puede ser??, puede que haga mal lo de ocultar el form de password y deberia hacerlo de otra forma mejor?? Muchas gracias y espero q mis threads sirvan a mas gente!!! Un saludo! |
#2
|
||||
|
||||
Hola
El problema es la llamada al form que loguea. Tienes el form principal y el loguin. En el evento Oncreate del form principal llama al form loguin, si estan correctos los datos el loguin se cierra, NO SE OCULTA. Saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
Hola, gracias por la respuesta.
Lo que hice en su momento es como el formulario del login es el primero en mostrar, lo tengo como principal y el otro como secundario.... supongo que esto viene indicado aqui: Código:
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int) { try { Application->Initialize(); Application->MainFormOnTaskBar = true; Application->CreateForm(__classid(TfrmPassword), &frmPassword); Application->CreateForm(__classid(TfrmMain), &frmMain); Application->Run(); Un saludo y gracias! |
#4
|
|||
|
|||
Hola. ps si el problema es que la aplicación toma como formulario padre al primer form que se crea teniendo como padre a “Application”, entonces lo que puedes hacer es crear tu form password sin padre y desde el crear el principal si es que dan la contraseña correcta.
Algo así Código:
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int) { try { Application->Initialize(); Application->MainFormOnTaskBar = true; TForm2* f2=new TForm2(NULL); // Creas un form sin padre y desde el creas el principal con Application->CreateForm f2->ShowModal(); // delete f2; // Si no creas un form principal la aplicación se cerrara cuando cierres form2 Application->Run(); } ... http://www.megaupload.com/?d=D5S58JTH |
#5
|
||||
|
||||
Yo propongo algo parecido a la propuesta de _cero_ con otro enfoque:
Código:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application->Initialize(); TLogin *Log = new TLogin(0); if(Log->ShowModal() == mrOk) Application->CreateForm(__classid(TForm1), &Form1); delete Log; Application->Run(); } //................................................................. Código:
void __fastcall TLogin::Button1Click(TObject *Sender) { if(Edit1->Text == "1234") ModalResult = mrOk; else ModalResult = mrCancel; } Saludos. |
#6
|
|||
|
|||
Muchas gracias a ambos por la respuesta, en tener un poco de tiempo lo pruebo, pero vamos, con el ejemplo adjunto no creo que tenga problemas .
Un saludo! Última edición por mizzard fecha: 12-05-2011 a las 11:45:40. |
#7
|
||||
|
||||
Cita:
|
#9
|
||||
|
||||
Muchas gracias
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Click en minimizar ventana y minimizar aplicacion | dmassive | Varios | 5 | 16-02-2009 17:01:16 |
Detectar boton Minimizar Formulario | Gabriel | Varios | 2 | 10-03-2008 17:59:19 |
Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo | jzginez | OOP | 5 | 22-06-2007 21:40:51 |
pasar datos de un formulario vista a cualquier formulario | @-Soft | OOP | 2 | 28-09-2004 21:56:01 |
Minimizar | superhopi | OOP | 2 | 18-06-2003 05:10:42 |
|