Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2011
Rolando Glez Rolando Glez is offline
Miembro
 
Registrado: nov 2004
Ubicación: Havana
Posts: 62
Poder: 20
Rolando Glez Va por buen camino
Como se puede conectar dos formas (dock) en tiempo de ejecucion

He diseñado una aplicacion MDI que debe poner varias formas conectadas entre si ,cuando lanzo la aplicacion me sale la forma parent de las formas mdichild ,he hecho esto modificando el programa de ejemplo que trae delphi 6 relacionado a "dock formas" pues bien resulta que si le pongo la formstyle=mdichild, las formas hijas salen dentro del La forma Parent pero no se conectan correctamente (inclusive haciendolo manualmente), la unica manera que lo hace correctamente es poniendole formstyle=normal conectandolas en tiempo de ejecuacion manualmente provocando que despues de conectarse salgan en la forma Parent ya conectadas y en forma correcta esto me plante el problema de simular esa conexion en tiempo de ejecucion es decir simular la accion del drag & drop pero no tengo idea de como hacerlo en conclusion se puede conectar dos formas por codigo (tiempo de ejecucion) y de esta forma lograr mi objetivo de que salgan conectadas ?
Responder Con Cita
  #2  
Antiguo 19-09-2011
Rolando Glez Rolando Glez is offline
Miembro
 
Registrado: nov 2004
Ubicación: Havana
Posts: 62
Poder: 20
Rolando Glez Va por buen camino
Encontre algo en la web y creo que era de este foro but

Encontre este codigo :


Código:
Form1.Parent:= Form2;
Form1.ClientWidth:=Form2.ClientWidth div 2;
Form1.ClientHeight:=Form2.ClientHeight div 2;
Me conecta la dos formas pero la alinacion es on top y necesito la alinacion to rigth es decir conectadas horizontalmente y no al top alguna sugerencia para que me salgan uno al lado de la otra y no una encima de la otra ?
Responder Con Cita
  #3  
Antiguo 20-09-2011
Rolando Glez Rolando Glez is offline
Miembro
 
Registrado: nov 2004
Ubicación: Havana
Posts: 62
Poder: 20
Rolando Glez Va por buen camino
La manera anterior explicada por mi no se adecua a mis requerimientos en ese caso una forma se hace parent de la otra y no hace lo por mi deseado es decir conectarla de forma independiente , esto lo logre haciendo un drag & drop por código,pues bien cree dos formas del tipo Tdockform heredando de la clase del mismo nombre del demo que trae delphi le puse todas la property con el valor para aceptar otras formas (docksite=true),pero hay algo importante para conectarlas no pueden ser style=Mdichild si no fs=fsNormal y despues hice un drag & drop por codigo cuando logre hacer esto me di cuenta que con delphi se puede hace cualquier cosa , solamente hay que buscar la herramienta necesaria y usarla , pues bien el drag & drop por codigo es :

Código:
//posicionar cursor del mouse dentro de la forma a mover creada y //mostrada   en diseño

SetCursorPos(form2.Top+10,form2.left+10);

//hacer click sobre la forma
click;
//comenzar el drag
Form2.BeginDrag(true,-1);
//mover el cursor del mouse sobre la forma destino (form2) recipiente 
//del cliente  (form1)
SetCursorPos(Form1.Top+10,Form1.left+10);
//terminar la operacion de drag
Form2.EndDrag(true);

una vez esto hecho en el evento on show de la Forma Principal
el efecto que tiene es que se conectan la dos formas en un contenedor que hace un split (division) , como ven a lo mejor no es la manera adecuada de hacerlo , a lo mejor hay otra manera de lograr el mismo proposito, pero al "simular" el drag & drop obtuve la conexion (dock), el único inconveniente que tiene es que sale el botón de cerrar en cada una de la formas conectadas y cuando se pincha me salta un error que informa que no se puede cerra una forma con style fsMdichild, pero bueno ya le dare una solucion a ese detalle no se puede hacer un hide sobre una forma con style=fsMdiChild , bueno amigos espero que este comentario halla explicado como obtuve mi primera aplicación usando dock Form pues hace tiempo tenia ese "bichito" de como hacerlo Saludos a todos.
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 crear componentes ado en tiempo de ejecucion richy08 Conexión con bases de datos 30 15-07-2010 16:31:32
como crear dll en tiempo de ejecucion Maycoll Varios 12 10-05-2008 01:57:19
¿Se puede cambiar el path del alias en tiempo de ejecución? JuanBCT Tablas planas 2 23-05-2006 18:20:29
TZConnection, como cambiar en tiempo de ejecucion¡¡¡¡ inexperto Conexión con bases de datos 1 26-06-2005 20:57:04
como se puede destruir un objeto en ejecucion o_rlando20 OOP 1 14-05-2003 02:23:32


La franja horaria es GMT +2. Ahora son las 23:22:21.


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