Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2009
Avatar de CarlosHernandez
CarlosHernandez CarlosHernandez is offline
Miembro
 
Registrado: oct 2003
Posts: 139
Poder: 21
CarlosHernandez Va por buen camino
Cita:
Esperemos que no tarde otros cinco dias
jeje, sorry por durar tanto en contestar pero me fui de viaje aprovechando los dias de carnaval.

ok la aplicacion comienza con una pantalla de login y contraseña para accesar al sistema, y por defecto es la primera que se crea (por eso digo que es la principal), a lo que entre al sistema, la mayorias de los otros formularios que lo conforman tienen un boton de cambio de usuario y pretendo mostrar mi form1 (el del login) como modal, pero como es el principal ya que es el primero que se crea me lo muestra destra del formulario desde el cual lo llamo, y solo pasa con este formulario.

probe otra aplicacion haciendo un form principal y uno secundario y pasa exactamente lo mismo osea que es cuestion del formulario que se crea primero.

en la aplicacion probe poniendo primero que se creara otro form, y llamo a mi form de login y perfecto se muestra correctamente, pero lo coloco que se cree primero y sigue igual, me desabilita en donde estoy parado y muestra habilitado pero detras.

amigo Neftali no coloco mas codigo porque es el unico que utilizo para llamarlo, pero dime que quieres que coloque y sin problema lo publico..

Código Delphi [-]
form1.showmodal;


una solucion que encontre fue mostrar el form que tengo de menu del sistema(lo puse como principal) y en el onactivate hacer que muestre el form1(el del login y ya quedo como secundario) con el codigo que ya les puse arriba.

todo bien pero me salio otro error, y es que cuando lo muestra no coloca por defecto el setfocus en el edit del login, y en el form1( login) en el evento onactivate y/o en el onshow coloque

Código Delphi [-]
edit1.setfocus;

pero nada, incluso hice un timer y nada, y solo ocurre cuando abro por primera vez la aplicacion porque luego si muestra el setfocus normal desde cualquier form que lo llame....


no se que mas decirles, solo que lo probe en delphi 6 y 2007...

gracias
__________________
begin
Elverdugo79@hotmail.com
end;

Última edición por CarlosHernandez fecha: 26-02-2009 a las 01:20:18.
Responder Con Cita
  #2  
Antiguo 26-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por CarlosHernandez
la aplicacion comienza con una pantalla de login y contraseña para accesar al sistema, y por defecto es la primera que se crea (por eso digo que es la principal)
Por aquí hubieras empezado

Como has notado, el primer formulario que se crea es el principal. Pero esto no es totalmente cierto. Más exacto es decir que el primer formulario que se crea con Application.CreateForm es el principal.

En otras palabras, es CreateForm el que establece quién será el formulario principal. Pero dicho método no es el único para crear formularios. Lo usual aquí es modificar a mano el archivo dpr que normalmente se ve así:

Código Delphi [-]
program Project1;

uses
  Forms,
  uMain in 'uMain.pas' {MainForm},
  uLogin in 'uLogin.pas' {LoginForm};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TLoginForm, LoginForm);
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
end.

Entonces, para que no se interprete a LoginForm como el principal, pero que aún así sea el primero que ve el usuario, tienes que crearlo de otra forma, por ejemplo:

Código Delphi [-]
program Project1;

uses
  Windows, // para la constante ID_OK
  Forms,
  uMain in 'uMain.pas' {MainForm},
  uLogin in 'uLogin.pas' {LoginForm};

{$R *.res}

begin
  Application.Initialize;

  LoginForm := TLoginForm.Create(Application);
  if LoginForm.ShowModal = ID_OK then
  begin
    LoginForm.Free; // o LoginForm.Hide
    Application.CreateForm(TMainForm, MainForm);
  end;

  Application.Run;
end.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Tamaño y posición de Form modal Wiarbumu Varios 3 23-07-2008 22:15:54
Devolver foco desde Form No Modal al control llamante gluglu Varios 8 22-06-2007 08:35:41
Form modal deja que el form llamante tome el foco tata Varios 6 17-05-2006 11:51:37
Acceder a form modal desde módulo de datos jcheco Varios 3 31-01-2006 17:18:22
Saber si una Form es modal Delfino Varios 3 18-09-2005 04:12:14


La franja horaria es GMT +2. Ahora son las 20:42:50.


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