Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
MDI utilizando un Tpanel como parent

Hola, no se si este tema cabe en esta categoría, espero que si.

Este problema me surgio después de resolver un asunto con carga dinamica de TForm... lo que está en otro hilo.

Vamos al grano.
Utilizo Delphi 2006, en una aplicación tengo 2 Form, el main el cual contiene un TPanel y un componente de terceros (TMS Software, de pago), y un Tform al cual lo llamo desde el principal y se carga de forma dinamica en modo de ejecución.

El punto es que necesito que el Tform cargado, este en el TPanel (parent).
Utilizo el siguiente codigo.

Código Delphi [-]
var
form:Tform;
begin
      form:= Tform.Create(self);
//    form.FormStyle := fsmdichild;
      form.Parent := panel1;
       form.show;
end;

Trate de utilizar MDI, pero no funciona bien el componente de tercero que estoi utilizando, y no lo quiero dejar de lado (por eso comente esa linea, para que se sepa que ya trate eso)

El problema es que algunos componentes como TEdit, TMemo, etc. funcionan a media... no los puedo seleccionar.

Recalque la linea del parent, ya que sin ésta funciona bien, pero el TForm puede andar libre por toda la pantalla, y eso es que lo quiero evitar.

Espero me puedan ayudar, gracias
Responder Con Cita
  #2  
Antiguo 23-07-2010
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
prueba que el Owner tambien sea Panel1 y nos cuentas. Un saludo.
Responder Con Cita
  #3  
Antiguo 23-07-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Supongo que lo que quieres es que la ventana hija ocupe todo el tamaño del panel. para hacer esto deberás quitarle todos los bordes a la ventana hija y maximizarla. No te preocupes, quedará como si fuese un panel embebido dentro del form. Otra mejor opción en lugar de maximizar la ventana es que le indiques que deberá ocupar toda el área cliente con la propiedad Align/ment.

saludos,
chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 24-07-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Tengo casi resuelto mi problema, finalmente utilize MDI.

Lo último que quiero resolver es como sacar la barra de la aplicación.
La forma mas sencilla seria poniendo la propiedad del form, borderstyle en bsnone, pero esto no me sirve, ya que necesito sacar la barra y ademas que la ventana del form sea sizeable.

Esto es porque el componente de tercero que utilizo hace las veces de barra, y al tener la barra de la aplicación se ve raro... 2 barras de programa.

Espero me puedan ayudar.

Gracias
Responder Con Cita
  #5  
Antiguo 31-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mjjj.

Si lo que queres es un form sin bordes y sizeable, hacé lo siguiente:

Código:
type
   TForm1 = class(TForm)
   private
       procedure CreateParams(var Params: TCreateParams); override;
   public
end;
 
var
  Form1: TForm1;
  ...
implementation 
 
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
   BorderStyle := bsNone;
   inherited;
   Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
   Params.Style := Params.Style or WS_SIZEBOX;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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
Como saber cuando se hace click sobre uno de los 120 Tpanel Nebli OOP 11 26-09-2008 21:28:23
Parent, ParentWindow, objetos y el error Control has no parent Window dec Varios 18 07-08-2007 15:02:01
Como publicar una web desarrollada en Delphi utilizando Intraweb e Interbase? JoelCarlos Internet 0 19-11-2004 22:07:35
Como depurar en Delphi5 utilizando Windows XP halpuin API de Windows 2 23-07-2003 20:00:30


La franja horaria es GMT +2. Ahora son las 11:48:54.


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