FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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.
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 |
#2
|
|||
|
|||
Hola,
prueba que el Owner tambien sea Panel1 y nos cuentas. Un saludo. |
#3
|
||||
|
||||
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 |
#4
|
|||
|
|||
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 |
#5
|
||||
|
||||
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 .... |
|
|
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 |
|