Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-01-2006
BenjiRock BenjiRock is offline
Registrado
 
Registrado: may 2003
Ubicación: Málaga
Posts: 4
Poder: 0
BenjiRock Va por buen camino
No he entendido bien tu pregunta, pero si lo que quieres es traer una ventana, ya creada, al frente es asi:

public void MakeOnTop()
{
Form1.TopMost = true;
}

esta informacion esta sacada de la msdn.
http://msdn.microsoft.com/library/spa/default.asp

Busca:

Mantener un formulario Windows Forms en primer plano.
Responder Con Cita
  #2  
Antiguo 03-01-2006
SMTZ SMTZ is offline
Miembro
 
Registrado: nov 2003
Posts: 225
Poder: 23
SMTZ Va por buen camino
Post No es eso

No, lo que intento hacer es poner en "enable = true", por ejemplo, un form ya creado pero que no está activo desde .NET.
Responder Con Cita
  #3  
Antiguo 03-01-2006
SMTZ SMTZ is offline
Miembro
 
Registrado: nov 2003
Posts: 225
Poder: 23
SMTZ Va por buen camino
Post Vuelvo a explicarlo

Hola, creo que en los posts anteriores no me he explicado del todo bien, por eso vuelvo a explicar el problema que tengo desde el principio. Imaginemos dos unidades. La unidad 1 contiene un formulario que quiero activar desde la unidad 2.

Código:
UNIDAD1
=======

type
  TWinForm = class(System.Windows.Forms.Form)
  {$REGION 'Designer Managed Code'}
  strict private
    Components: System.ComponentModel.Container;
    procedure InitializeComponent;
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
  private
    { Private Declarations }
  public
    constructor Create;
  end;
Código:
UNIDAD2
=======

...

uses unidad1; // Para que pueda llamar al TWinForm de la Unidad1.

...

Begin
//Imaginemos que pulso un botón y muestro la TWinForm de la unidad1

TWinForm.Create.Show;

end;

...


Begin

//Ahora imaginemos que ya tenemos el formulario creado pero quiero poner su propiedad enable a false.


TWinForm.Enable := False; // Esta línea de un error al compilar porque dice que la propiedad enable no está definida. La cosa iría como se especifica en la siguiente línea.

TWinForm.Create.Enable := False; // Pero esta línea no pone el formulario ya creado en enable, ya que volvemos a llamar a create para que se cree otro formulario y no se actua sobre el que ya está creado.

End;
La posibilidad que he encontrado para solucionar este problema es:

Código:
Unidad2
======

...

Var
   Form1 : TWinForm;

Begin

   Form1.Create.Show;
   Form1.Enable := True; // Esta vez, esta línea sí que se puede compilar y con esto quedaría el problema que planteo solucionado.

End;

...
Pero ahora imaginemos que el form sobre el que quiero actuar es el principal, el que se crea por defecto al arrancar la aplicación y no se llama a través de ninguna variable. No he encontrado ninguna solución para poder actuar sobre la propiedad Enable del formulario principal.


Un saludo.
Responder Con Cita
  #4  
Antiguo 16-01-2006
Athanatos Athanatos is offline
Miembro
 
Registrado: ago 2005
Posts: 33
Poder: 0
Athanatos Va por buen camino
Bueno, ahora estoy trabajando con csharp... pero algo tendra en comun con delphi.net. :P

El form principal es creado con un "new", asi que no tenemos nada con que hacer referencia por separado, asi que lo defini primero como objeto:

Este codigo hay que agregarlo en el main (en delphi win32 tambien existe un .pas principal con contenido equivalente. )
Código:
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static public TWelcomeForm WelcomeForm;
y luego antes de correr la aplicacion lo creo:
Código:
            WelcomeForm = new TWelcomeForm();
            Application.Run(WelcomeForm);
Lo mismo para todos los formularios, a la manera que lo hace delphi win32: Define los objetos, los crea todos y luego los oculta y muestra segun el caso.

Por ejemplo para mostrar otra ventana y ocultar la actual:
Código:
            Hide();
            MainProgram.MiOtroForm.Show();
Espero que esto mismo que funciona en csharp funcione en delphi.net

Última edición por Athanatos fecha: 16-01-2006 a las 21:43:25.
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


La franja horaria es GMT +2. Ahora son las 22:29:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi