![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
parent
Gracias de nuevo.
Como dicen en una pelicula...... Cita:
![]() |
|
#2
|
||||
|
||||
|
Entiendo lo que quieres hacer, pero no comparto el método...
Si el usuario tiene la ventana del TPV por detras y quiere mover una de las ventanas al frente, puede cometer el fallo de activar tal o cual botón del TPV, por ello, no veo una alternativa lo que estas planteando. Si la ventana TPV no es muy grande, podrías acoplarla a la ventana MDI, o incluso dividir esa ventana de TPV en varios paneles con la funcionalidad Dock, es decir, que el usuario arrastre el panel que quiera y lo adose a los bordes del MDI. Si no te sirve... pues a cambiar de diseño, nos olvidamos de ventanas MDI y simulamos el IDE de delphi 6/7, donde el menú es una ventana y se pueden abrir otras ventanas por todos los sitios. En este caso, puedes hacer un control al abrir las ventanas de forma que cada una se sitúe donde te apetezca, según el tipo de ventana. Controlando las propiedades "Constraint" de cada ventana podrás conseguir lo que quieres. Incluso... podrías crear una ventana sin nada dentro y sin bordes, para que simule el fondo de una ventana MDI, usando los mensajes WM_WINDOWSPOSCHANGING de la ventana del menú puedes modificar el tamaño de esta nueva ventana. A ver si entre todos te podemos dar más ideas, dicen que cuatro ojos ven más que dos ![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#3
|
||||
|
||||
|
Estube jugando con ese codigo y con otros nuevos para descartar alguna propiedad modificada. y si cuando mustro el form con la propiedad PArent:=form1; tengo el mismo resultado qu evos
pero lo que podes hacer es mostrarlo como modal. es decir y sino como dijo lepe TRabajar con Forms MDI |
|
#4
|
||||
|
||||
|
parent
La verdad que se agradece la ayuda que se recibe.
![]() ![]() ![]() Ante de descartar MDI. he tenido muchos contratiempos. Creo que en la fase en la que me encuentro todavía estoy a tiempo de volver. Os enumero los problemas.
![]() Sobre hacer la ventana modal, no creo que sea una solución, pues me obliga a tener que cerrarla para abrir cualquier otra ventana de gestión. Cita:
![]() Gracias Compissss ![]() P.D. Si me solucionáis las pegas hasta me planteo volver con los MDIs ![]() |
|
#5
|
||||
|
||||
|
Bueno, si es requisito imprescindible que la ventana del TPV se quede por detrás de las demás ventanas, no recomendaría trabajar con MDI.
Los problemas que te has encontrado son inherentes a los MDI, para solucionarlos hay que zambullirse en la VCL, derivar de TCustomForm haciendo tu propio MDI y modificando el comportamiento. Para la imagen de fondo hay por ahí un código, pero la verdad, despues de usarlo y ver lo incomodo que era activar la imagen de fondo y desactivarla, dejé de usarla. Para lo de maximizar.... bastante curioso, de hecho mirad el comentario que los hombres de borland añadieron al respecto: (consideresé que Borland no añade casi comentarios a los fuentes, si en este caso lo hacen... por algo será )
Para CTRL + TAB (me picó la curiosidad ):
Puesto que tendríamos que sobreescribir (override) este método, lo más oportuno me parece crear una lista de Objetos con varias propiedades, de tal forma que el usuario de la forma MDI añade en esa lista las ventanas que no se desea el foco. Justo en el código de color rojo, tendríamos que comparar si la forma hija es una de las que hay en la "lista negra" y si está, pasar a otra ventana hija. Por supuesto el derivar de esta clase y modificar su comportamiento, puede traer efectos colaterales no deseados, y solo haciendo el cambio podrás averiguar si tienes esos efectos o no. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#6
|
||||
|
||||
|
Cita:
![]() pd: En una aplicación mdi, los formularios hijos, o todos están maximizados o ninguno lo está. No lo juro pero creo que éste es el comportamiento "normal" de Windows y va más allá de la VCL. // Saludos |
|
#7
|
||||
|
||||
|
parent
Definitivamente, para este proyecto dejo el MDI.
![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| QReport has no parent window | david duarte | Impresión | 1 | 19-01-2006 15:06:07 |
| TreeView parent | Caro | OOP | 4 | 09-11-2005 17:37:45 |
| error : has no parent windows | jorodgar | Varios | 5 | 23-05-2005 21:49:48 |
| TTabSheet - TForm - Parent | neon | OOP | 0 | 11-01-2005 16:34:03 |
| Opciones de Parent | pepelu1975 | OOP | 7 | 26-05-2004 18:35:36 |
|