FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Como ocultar ventana LogIn
Hola amigos del Club, tengo una consulta que les parecerá tonta pero soy novato.
Realice un programa con un login, este login cuando es correcto ejecuta la funcion ShowModal() de un segundo Form. El problema es que atrás queda siempre la ventanita del Login; no desaparece obviamente. Trate de utilizar la funcion Hide(), pero si la utilizo oculta todo incluyendo el segundo Form. Como puedo ocultar el form del login? Gracias de antemano, un abrazo. |
#2
|
||||
|
||||
Hola Diego.
No sé como tenés organizada la creación y aperturas de Forms, pero normalmente un formulario de autentificación debe mostrarse de forma modal, es decir con ShowModal. Ya que la idea es que el usuario se identifique correctamente para ingresar, de otro modo no debería poder acceder a la aplicación. Entonces sintetizando y de acuerdo al resultado de la verificación de nombre y contraseña, pueden pasar dos cosas: 1. Ingresa los datos correctamente y entra a la aplicación. 2. Ingresa erroneamente los datos y termina la aplicacion. En ambos casos el formulario login debe cerrarse, es decir que una vez verificados los datos, deberías usar el método Close en lugar de Hide. El por qué se oculta todo, como te dije al principio, depende de como estés haciendo la creación y aperturas de forms. Sería de gran ayuda que nos pusieras simplificadamente el código con que lo estas realizando. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
Te comento
Te comento amigo: realice un programa que tiene una ventana de log-in como principal, tiene dos textbox (uno con mascara para los "*"), se pincha el boton de ingresar si el usuario y contraseña estan bien muestra una ventana de forma modal (ShowModal()), pero queda atras la otra ventanita.
Ya intente esto: en el evento OnShow de la ventana 2 que oculte el form_login con -Hide()- pero oculta todo pues la ventana principal del programa es el Form_login. en el evento OnCreate de la ventana 2 que oculte el form_login con -Hide()- pero da error puesto que no coloco la ventana 2 como disponible sino como autocreate en Project->Options->Forms. Si utilizo close() me cierra toda la aplicacion Que puedo hacer? ( Gracias por responder ecfisa |
#4
|
||||
|
||||
Hola Diego.
En principio yo no haría que el form de autentificación fuera el principal, Sí lo llamaría desde el evento OnShow del form principal y verificaría la condición de salida para decidir si termina la aplicación o continua. Más o menos de este modo: Código:
void __fastcall TfrMain::FormShow(TObject *Sender) { frLogin = new TfrLogin(this); int ExitResult = frLogin->ShowModal(); delete frLogin; if (ExitResult == mrCancel) Application->Terminate(); } Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Gracias por responder en cuanto lo pruebe posteo.
Un abrazo. |
#6
|
||||
|
||||
Algo parecido a la solución de ecfisa es lo que hago yo, pero no en el evento OnShow, pues puede darse mas veces si ocultamos y mostramos el Form.
Yo lo hago en el WinMain: 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(); } catch (Exception &exception) { Application->ShowException(&exception); } return 0; } Código:
void __fastcall TfrMain::FormShow(TObject *Sender) { static bool Primera_vez = true; if(Primera_vez){ frLogin = new TfrLogin(this); int ExitResult = frLogin->ShowModal(); delete frLogin; if (ExitResult == mrCancel) Application->Terminate(); Primera_vez = false; } } Saludos. |
#7
|
||||
|
||||
Excelente! Gracias a los dos!
Cita:
Form2 On Show{ form_login->ShowModal(); } y si era correcto el ingreso, en el form_login se realizaba la operacion: form_login->close(); y listo. Gracias por su tiempo amigos!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ventana de Login al correr un programa | Yasnet | MySQL | 12 | 16-11-2008 20:30:00 |
mostrar y ocultar una ventana | Tonio | Varios | 4 | 22-10-2008 15:49:51 |
Consulta sobre ventana login y menus | Choclito | OOP | 6 | 02-09-2008 23:30:23 |
como crear una ventana de login | wadhis | Conexión con bases de datos | 1 | 27-08-2008 09:47:26 |
Ayuda Con Ventana Para Login!!! | jugomez | MS SQL Server | 5 | 23-10-2006 17:22:29 |
|