Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.225
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que eso no es un menú, eso es una ventana a pantalla completa, cualquier cosa que pongas quedará detrás
Pues por eso quiero que el menú se quede detrás de los formularios.... es duro esto de ser un incomprendido.

Amigo roman, lo que me propones serviría perfectamente, el problema es que lo veo demasiado espartano para mi gusto.

Si lo entendéis mejor de esta manera el resultado que quiero es exactamente como si fueran formularios mdi/child pero con formularios normales.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 27-10-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ok. Ahí te va una aproximación a lo que quieres:

Código Delphi [-]
type
  TForm1 = class(TForm)
  private
    procedure WMMouseActivate(var Message: TWMMouseActivate); message WM_MOUSEACTIVATE;
  end;

implementation

procedure TForm1.WMMouseActivate(var Message: TWMMouseActivate);
begin
  Message.Result := MA_NOACTIVATE;
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 27-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.225
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
Ok. Ahí te va una aproximación a lo que quieres:

Código Delphi [-]type TForm1 = class(TForm) private procedure WMMouseActivate(var Message: TWMMouseActivate); message WM_MOUSEACTIVATE; end; implementation procedure TForm1.WMMouseActivate(var Message: TWMMouseActivate); begin Message.Result := MA_NOACTIVATE; end;


// Saludos
... por cierto... ¿y esto qué es lo que hace?
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 27-10-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 25
José Luis Garcí Va camino a la fama
Newtron, te propongo lo siguiente si donde tienes el menú, ese form lo haces del alto de lo necesario para el menú y el statusbar e inamovible de la posición x,y=0, y luego todas las ventanas las creas normalmente, pero solo evitando, que su posición top, nunca sea inferior a 0+(form del menu.heigh)+1, ten en cuanta que escribo de memoria, de esta manera el menú siempre estará visible, por que las ventanas no podrán superar, el borde inferior del form del menú, claro está este no debe poder ser cambiado de tamaño, cerrado en la x ni movible, aunque si creo que deberías poder minimizar la aplicación y poder restaurarla.

Espero te pueda ser de utilidad.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #5  
Antiguo 27-10-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
De hecho, eso mismo es lo que le propongo con la "desktop bar", pero él quiere el dibujo azul bonito.

// Saludos
Responder Con Cita
  #6  
Antiguo 27-10-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
De hecho, eso mismo es lo que le propongo con la "desktop bar", pero él quiere el dibujo azul bonito.
// Saludos
Que lo ponga transparente
Responder Con Cita
  #7  
Antiguo 27-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.225
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Que lo ponga transparente
Que sepas que te ríes de mi y me da sentimiendo.

Cita:
Empezado por newtron Ver Mensaje
... por cierto... ¿y esto qué es lo que hace?
Uh... ya veo... que no le haga caso si picas en el menú.

Tampoco me sirve porque el programa se convertiría en Modal.

Yo quiero poder hacer algo así:

Uploaded with ImageShack.us
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 27-10-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
Yo quiero poder hacer algo así:

Vale, y si alguien pincha en la ventana de menú que está detrás, ¿qué quiéres que haga?, es que creo que no tiene sentido lo que quieres, si pinchas en el menú, por fuerza, debe ponerse delante para hacer lo que quieras hacer con el menú, por lo tanto las ventanas que están delante quedarán detrás, es lógico, ¿qué quiéres hacer con esas ventanas?
Responder Con Cita
  #9  
Antiguo 27-10-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
Uh... ya veo... que no le haga caso si picas en el menú.

Tampoco me sirve porque el programa se convertiría en Modal.
A ver, por eso dije que era una aproximación. Con ese código no inhabilitas por completo el formulario menú, simplemente le impides activarse. Entonces, si para tu menú usas, por ejemplo, SpeedButtons, puedes pinchar uno de ellos y su acción se ejecutará aun cuando el formulario permanezca en el fondo.

Ahora, si no quieres usar botoncitos speedbutton entonces puede hacer como dice JoséLuis. Dejas el menú solito en una "desktop bar" y en otro formulario pones tu dibujo. En este formulario pones el código que te puse.

Claro, creo que ese formulario tiene otros botoncitos pero es que como dice Casimiro, lo que quieres es imposible: quieres que el usuario pinche un botón al cual no tiene acceso porque no quieres que se monte arriba de lo demás.

// Saludos
Responder Con Cita
  #10  
Antiguo 27-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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 newtron.

Como te dije antes, sigo pensando que la opcion más simple es usar MDI...
Según la imágen de tu form principal (que ahora veo), hay uno o dos botones y algunos items que ignoro si responden a eventos del mouse pero no parece que ninguno de ellos necesiten capturar el foco del teclado.

Si mál no recuerdo tu problema era que los controles ubicados en el área cliente del MDIForm, quedan al frente de la ventana MDIChild abierta (comportamiento normal con MDI y TWinControl).
Entonces, una solución es que en lugar de usar descendientes de TWinControl, guardes esos botones e items como imágenes y utilices para mostrarlos unos TImage. De esa forma no tendras problemas de que solapen al MDIChild ya que al ser descendientes de TGraphicControl no tienen handle de ventana y no interferirán con el normal desempeño MDI.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 27-10-2011 a las 21:57:10.
Responder Con Cita
  #11  
Antiguo 27-10-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.619
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Off topic

No es lo mismo:
Cita:
Empezado por roman Ver Mensaje
[...] que el usuario pinche [...]
que:

...el pinche usuario que...

__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Responder Con Cita
  #12  
Antiguo 27-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.225
Poder: 24
newtron Va camino a la fama
Gracias José Luis por la idea.

Cita:
Empezado por roman Ver Mensaje
De hecho, eso mismo es lo que le propongo con la "desktop bar", pero él quiere el dibujo azul bonito.
A ver.... si encima que mis programas no funcionan los hago feos ¿qué les quedaría a mis clientes?
__________________
Be water my friend.
Responder Con Cita
  #13  
Antiguo 27-10-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 25
José Luis Garcí Va camino a la fama
Cierto Román, lo que pasa es que no conocia rel termino, ni cai en la cuenta de ello, de todas maneras, lo del fondo bonito que lo ponga en otro form que ocupe el resto de la pantalla, que no se pueda cerrar y que haga lo mismo que el Form del menú, así aunque otros form se abran encima, el menu es independiente, eso pienso yo, por lo menos, pero no me hagais mucho caso.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #14  
Antiguo 27-10-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 25
José Luis Garcí Va camino a la fama
Acabo de probar la demo de Román y es aún mejor de lo que yo pensaba, me parece super útil.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #15  
Antiguo 28-10-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.619
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
[...] el resultado que quiero es exactamente como si fueran formularios mdi/child pero con formularios normales.
Tal vez me perdí de algo, pero creo que esa frase resume lo que estás buscando.

Mi pregunta es: ¿por qué no le das al formulario principal (el que tiene el menú) el estilo fsMDIForm y a los demás el estilo fsMDIChild? Eso le otorgaría a tu aplicación el comportamiento que, pienso yo, estás necesitando.

Tú quieres que la aplicación trabaje bajo el modelo MDI, pero con formularios "normales". Pues bien, ¿por qué no nos explicas qué inconvenientes habría si los estableces como fsMDIChild? Varias de las desventajas naturales de este esquema, creo yo, podrían ser salvables.

Saludos.
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
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


La franja horaria es GMT +2. Ahora son las 04:25:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi