![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Me gustaría aportar mi granito de arena.
Si no entiendo mal, pretendes realizar una aplicación multiformulario que no sea MDI. Entonces Tu formulario principal se pone delante de todos tapándolos cuando se activa, siendo esto lo que quieres evitar. ¿Es así?. Aunque pienso, coincidiendo con otros, que lo mejor es usar MDI, te propongo este ejemplo de aplicación multiformulario no MDI:
Aunque no me termina de convencer del todo, este ejemplo mantiene al formulario principal, siempre detrás del resto de los formularios de la aplicación. Saludos. Última edición por Casimiro Noteví fecha: 31-10-2011 a las 00:41:03. |
|
#2
|
||||
|
||||
|
Perdón
. Releyendo el código me he dado cuenta de que deje un gazapo al eliminar partes del código inútil tras realizar pruebas. Como no lo puedo editar, muestro aquí el gazapo y la corrección: Donde dice:
Debe decir:
S es una variable que elimine... Saludos. |
|
#3
|
||||
|
||||
|
Corregido
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
#5
|
||||
|
||||
|
Gracias escafandra. Parece que tú has sido el único con la sensibilidad suficiente para entender mis penas.
![]() "Bucearé" en tu código y te cuento. Gracias de nuevo y un saludo
__________________
Be water my friend. |
|
#6
|
||||
|
||||
|
Cita:
![]() ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
Amigo escafandra.
El ejemplo que me has propuesto hace más de lo que yo necesitaba, he usado la parte del código que mantiene el formulario principal al fondo de los demás y me sirve a la perfección, era lo que estaba buscando (aunque os parezca raro, bueno, yo es que soy un tío raro ).No te pongas triste, ven que te dé un chillaito.... ayyyyyyyyyyyyyyyyyyyyyyyyy.... :P Gracias a todos por vuestra atención y un saludo.
__________________
Be water my friend. |
|
#8
|
||||
|
||||
|
A ver, no entiendo. Yo iba por el mismo camino que escafandra (aunque no tan completo)
Cita:
Me siento ofendido, ja, ja ![]() // Saludos |
|
#9
|
||||
|
||||
|
Cita:
Esta segunda si permite accionar el menú pero tiene un efecto visual un poco "raro" en PCs mas antiguos. ![]() Saludos. |
|
#10
|
||||
|
||||
|
¡Ah! Ok. Entonces la parte del MouseActivate sale sobrando ¿no?
¿Cuál es el efecto raro en pcs viejos? // Saludos |
|
#11
|
||||
|
||||
|
Bueno, relativamente. Si lo escribimos de la siguiente manera, funcionan los menús:
El efecto es que si el PC es lento se aprecia sutilmente que la ventana principal se activa y luego se va hacia atrás. Se aprecia una aparición rápida y fugaz de los bordes del MainForm si se solapan con ventanas secundarias. Es por eso que incluí WM_MOUSEACTIVATE, con sus efectos secundarios, y el motivo por el que anuncié que no me terminaba de convencer. ![]() Saludos. |
|
#12
|
||||
|
||||
|
Cita:
La razón de no usar mdi es porque yo uso un formulario propio que necesita crearse y asignarle una serie de propiedades antes de hacer el show, con los formularios mdi se ejecuta el show en el momento de crearlos. No sé si esto lo hubiera podido solucionar pero este y otros problemas los vería duros de resolver, era más fácil buscar la solución al tema de los menús.
__________________
Be water my friend. |
|
#13
|
||||
|
||||
|
Amigo escafandra.
Esto se ha quedado estupendamente pero hay un pequeño detalle que rompe mi "paz interior" y es que si tengo un formulario abierto encima del menú y minimizo el menú, al volver a maximizarlo el formulario se queda detrás del menú. ¿Hay forma de arreglar eso? Gracias y un saludo.
__________________
Be water my friend. |
|
#14
|
||||
|
||||
|
Una pregunta newtron, porque no pones una variable, que antes de entrar en el menu, o sea al peder el active un Form, grave el nombre del form, con lo cual al salir de la acción del menu abra el form guardado en la variable, vamos es una idea.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
|
#15
|
||||
|
||||
|
Cita:
Con el ejemplo que he usado eso no ocurre , es posible que no te entienda bien o que tengas incluidas cosas en tu código distintas a las mías.Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Orden formularios | newtron | Varios | 10 | 06-10-2011 14:03:37 |
| Paneles en Orden ...... | Efren2006 | OOP | 9 | 11-06-2010 12:36:02 |
| Splash screen ,o splashscreen ,o form o ventana de inicio ,o orden de formularios | Peterman | C++ Builder | 2 | 29-05-2007 19:46:22 |
| Orden en TIBDataset | barman | Conexión con bases de datos | 6 | 27-11-2003 10:40:25 |
| Orden en TIBDataset | barman | Firebird e Interbase | 6 | 24-11-2003 21:26:00 |
|