![]() |
![]() |
| Paypal | 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 |
|