Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Unhappy 2 Form Siempre En Primer Plano

Bueno, aquí les dejo mi duda:

Tengo 2 formularios, (Form1 y Form2)

"Form1" está totalmente Vacio... no contiene nada solamente he cambiado la propiedad "FormStyle" a "fsStayOnTop" hasta ahi me va todo bien, ahora..

"Form2" Contiene 1 CheckBox (Llamado "CheckBox1") y lo que necesito es que cuando ese "CheckBox" Está Seleccionado ( Propiedad "State" en "cbChecked") "Form2" quede tambien siempre en Primer Plano ( o sea "Form1" y "Form2" Siempre delante de todos los demas programas )
y si no que se oculte normalmente como todo programa.

Mi duda seria: ¿Se puede tener 2 Formularios a la vez en primer plano siempre?


Bueno espero haberme expresado bien ya que soy muy nuevo en esto y no entiendo demasiado... ah, me olvidaba, estoy utilizando C++ Builder


En Fin Muchas Gracias, espero no haber hecho una pregunta tonta

Última edición por dec fecha: 05-01-2008 a las 16:20:07.
Responder Con Cita
  #2  
Antiguo 05-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Sí parece que puedan tenerse dos formularios "en primer plano", y, que todo lo demás quede por detrás de ellos. ¿Probaste y no va como esperas?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 05-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

Sí parece que puedan tenerse dos formularios "en primer plano", y, que todo lo demás quede por detrás de ellos. ¿Probaste y no va como esperas?
Claro, he probado y no me quedan los 2 Form en Primer plano solo queda el primero o sea Form1, y si le pongo la propiedad al otro ( Form2 ) no lo hace

¿ alguna idea que me pueda ayudar ?



Gracias Por contestar
Responder Con Cita
  #4  
Antiguo 05-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tal vez el "efecto" que buscas no se consiga, pero, supongamos tres formularios, uno principal y otros dos secundarios. A estos dos formularios secundarios, a su propiedad "FormStyle", le damos el valor "fsStayOnTop". Ahora, desde el formulario principal mostramos los otros dos formularios, y ambos quedarán "por encima" del formulario principal y del resto de aplicaciones.

Es decir, los dos formularios pueden estar "por encima" de todo lo demás al mismo tiempo. Claro que podrás alternar entre los dos formularios, de modo que uno quede por debajo del otro, y aún así por encima de todo lo demás. Y eso digo, que, como esto parece poder hacerse, tal vez lo que estás buscando no se logre de este modo, tal vez necesitas hacer alguna otra cosa.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 05-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

Tal vez el "efecto" que buscas no se consiga, pero, supongamos tres formularios, uno principal y otros dos secundarios. A estos dos formularios secundarios, a su propiedad "FormStyle", le damos el valor "fsStayOnTop". Ahora, desde el formulario principal mostramos los otros dos formularios, y ambos quedarán "por encima" del formulario principal y del resto de aplicaciones.

Es decir, los dos formularios pueden estar "por encima" de todo lo demás al mismo tiempo. Claro que podrás alternar entre los dos formularios, de modo que uno quede por debajo del otro, y aún así por encima de todo lo demás. Y eso digo, que, como esto parece poder hacerse, tal vez lo que estás buscando no se logre de este modo, tal vez necesitas hacer alguna otra cosa.

Bueno, ahora voy a intentar eso que me decis espero que me funcione =P y si asi es te lo agradecere mucho y si no tb te agradesco el intentar ayudarme ! Muchas Gracias en ratito digo mi resultado
Responder Con Cita
  #6  
Antiguo 05-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

Tal vez el "efecto" que buscas no se consiga, pero, supongamos tres formularios, uno principal y otros dos secundarios. A estos dos formularios secundarios, a su propiedad "FormStyle", le damos el valor "fsStayOnTop". Ahora, desde el formulario principal mostramos los otros dos formularios, y ambos quedarán "por encima" del formulario principal y del resto de aplicaciones.

Es decir, los dos formularios pueden estar "por encima" de todo lo demás al mismo tiempo. Claro que podrás alternar entre los dos formularios, de modo que uno quede por debajo del otro, y aún así por encima de todo lo demás. Y eso digo, que, como esto parece poder hacerse, tal vez lo que estás buscando no se logre de este modo, tal vez necesitas hacer alguna otra cosa.

Como puedo hacer para crear Form1 primario y Form2 y Form3 sean secundarios?
Responder Con Cita
  #7  
Antiguo 05-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No es necesario que hagas nada en especial. En Delphi (o C++ Builder) las aplicaciones ("visuales") cuentan con un formulario principal: el primero que se crea, es el formulario principal. Cuando este formulario se cierra, se cierra también la aplicación. El resto de formularios que añadas (dos, tres o los que necesites) serán formularios "secundarios", entendiendo esto como que no serán el principal, pues principal sólo hay uno: el primero que se crea.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 05-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

No es necesario que hagas nada en especial. En Delphi (o C++ Builder) las aplicaciones ("visuales") cuentan con un formulario principal: el primero que se crea, es el formulario principal. Cuando este formulario se cierra, se cierra también la aplicación. El resto de formularios que añadas (dos, tres o los que necesites) serán formularios "secundarios", entendiendo esto como que no serán el principal, pues principal sólo hay uno: el primero que se crea.
Ah, perdon pense que si habia que hacer algo en especial, bueno, paso a comentarte que haciendo eso, igual no me deja ponerlos en "primer plano" a Form2, y Form3, les activo la propiedad fsStayOnTop pero no quedaron en primer plano alguna solucion??


Muchas Gracias Por Tus Respuestas Rapidas, y perdon por mi ignorancia
Responder Con Cita
  #9  
Antiguo 05-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No te preocupes. Yo creo que habremos de definir entonces de qué hablamos cuando decimos que queremos que los formularios queden "en primer plano". En la pruebas que yo he hecho, como he dicho arriba, es posilble tener dos formularios "en primer plano", tal y como yo entiendo que es esto, y no es más que utilizando la propiedad "FormStyle" de los formularios.

Si tú haces eso y no funciona como espera, entonces, es posible que tú no quieras realmente formularios en primer plano, o no como yo entiendo que eso significa. ¿Necesitas que un formulario esté por encima de todo lo demás? Eso es un formulario "on top", o en primer plano. ¿Necesitas que dos formularios permanezcan por encima de todo lo demás? Lo que hemos estado hablando permite eso.

Ahora bien, siempre podrá alternarse entre los dos formularios que están en primer plano (recordemos, con respecto a todas las demás ventanas de aplicaciones). ¿Es esto lo que no quieres? Pero, en este caso, no podría sino hacerse que uno de los dos formularios estuvieran, no en primer plano, sino mostrándose "modalmente".

Aunque sólo un formulario podrá estar mostrándose "modalmente" al mismo tiempo, en este caso ya no podrán ser dos formularios: uno u otro podrá ser "modal", pero, no ambos al mismo tiempo, o al menos no que yo sepa ahora mismo. Así que... no sé... ta vez si explicas un poco lo que quieres conseguir.

En todo caso tenemos que ponernos de acuerdo en qué significa para ti y para mí que un formulario esté en primer plano, para estar seguro de estar refiriéndonos a lo mismo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #10  
Antiguo 05-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

No te preocupes. Yo creo que habremos de definir entonces de qué hablamos cuando decimos que queremos que los formularios queden "en primer plano". En la pruebas que yo he hecho, como he dicho arriba, es posilble tener dos formularios "en primer plano", tal y como yo entiendo que es esto, y no es más que utilizando la propiedad "FormStyle" de los formularios.

Si tú haces eso y no funciona como espera, entonces, es posible que tú no quieras realmente formularios en primer plano, o no como yo entiendo que eso significa. ¿Necesitas que un formulario esté por encima de todo lo demás? Eso es un formulario "on top", o en primer plano. ¿Necesitas que dos formularios permanezcan por encima de todo lo demás? Lo que hemos estado hablando permite eso.

Ahora bien, siempre podrá alternarse entre los dos formularios que están en primer plano (recordemos, con respecto a todas las demás ventanas de aplicaciones). ¿Es esto lo que no quieres? Pero, en este caso, no podría sino hacerse que uno de los dos formularios estuvieran, no en primer plano, sino mostrándose "modalmente".

Aunque sólo un formulario podrá estar mostrándose "modalmente" al mismo tiempo, en este caso ya no podrán ser dos formularios: uno u otro podrá ser "modal", pero, no ambos al mismo tiempo, o al menos no que yo sepa ahora mismo. Así que... no sé... ta vez si explicas un poco lo que quieres conseguir.

En todo caso tenemos que ponernos de acuerdo en qué significa para ti y para mí que un formulario esté en primer plano, para estar seguro de estar refiriéndonos a lo mismo.

Bueno, voy a tratar de expresarme lo mejor posible ya que me parece que te estoy volviendo loco jejeje bueno para mi tener Formularios en Primer Plano es Tenerlo Siempre Visible y Por Encima De cualquier otro programa, ejemplo:

en este momento estoy escribiendote una respuesta, y un formulario que tiene la propiedad para que quede en primer plano deberia estar por encima de esta pagina, y haga si abro otra pagina por encima de esta, el Formulario tiene que seguir Arriba de todo ( en primer Plano ),


Bueno espero que ahora si me hayas entendido ya que no se me ocurrio otro ejemplo =P

Yo he probado Crear 2 Form, y ponerle la propiedad FormStyle y la verdad que no quedan los 2 por encima de todo tambien probe crear 3 form.

Form1
Form2
Form3

y que Form2 y Form3 tengan la propiedad FormStyle en fsOnStayTop y tmp se me soluciona el problema, si vos has probado y te funciona correctamente seguramente estoy haciendo algo mal y no me doy cuenta que es =(



Muchas Gracias Por Todo...
Responder Con Cita
  #11  
Antiguo 07-01-2008
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
En delphi se que hay componentes para hacer lo que quieres
supongo que tambien han de funcionar con c++ builder

el asunto es que tu quieres el efecto que te da el winamp.
de tener el control principal, las bibliotecas de musica, y un mininavegador
siempre visibles,

la unica forma es que estos esten como pegados, de los bordes.

hay formas de hacerlo por codigo que no recuerdo como

aqui esta un componente que hace lo que te dijo
http://appcontrols.com/components.html

FormMagnet


The FormMagnet allows to magnetize your forms to an edges of screen / work area, borders of parent window and to other forms. Forms can glue each others, so when user moves the form, others, “glued” forms will be moved too. With FormMagnet, your forms can looks and feels like windows of famous WinAmp player.

With FormMagnet forms obtains following abilities: 1. to be attracted to edges of screen or work area (considering placement of task / appbars);
2. to be attracted to borders of parent form (for child windows);
3. to attract other forms (with FormMagnet on them) to itself;
4. to glue other forms to itself (when user move form, others, attached forms will be moved too);
5. to move forms, dragging by client area.

License: Shareware - ORDER NOW!
Last updated: April 27, 2007
Compatibility: Delphi 2/3/4/5/6/7/2005/2006/2007, C++ Builder 1/3/4/5/6/2006Download: formmagnet.zip (300 Kb), Exe-demo (90 Kb)

aqui el exe demo
http://appcontrols.com/download/exe/FormMagnetDemo.exe

y el codigo fuente

http://appcontrols.com/download/formmagnet.zip

este es de pago, recuero que en www.utilmind.com
vi que ese componente existia en su version basica rudimentaria
como gratuito con su codigo fuente
Responder Con Cita
  #12  
Antiguo 08-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Red face En Fin...

La verdad que intente todo lo que me dijieron, y no puedo, tal vez no me salga por que estoy haciendo mal algo, no se , pero ya me puso nervioso ! asi que pienso dejar eso por unos dias =P y luego volvere a intentar..., agradesco a cada 1 de los que respondieron e intentaron ayudarme, muchas gracias por la buena onda ! me gusta este foro desde ya muchas gracias, y si pueden seguir aportandome opciones se los agradeceria tb, si puedo lograr terminarlo voy a dejar ak como se hace xD por que tal vez pueda servirle a alguien mas



Gracias a todos..
Responder Con Cita
  #13  
Antiguo 11-01-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Poder: 0
grandmasterdari Va por buen camino
intento de ayuda

segun se, no se puede tener 2 ventanas al mismo tiempo activas, intenta abrir 1 carpeta en 2 ventanas y el "focus" va cambiando segun selecciona el click de mouse, por lo tanto es un comportamiento del sistema operativo, nunca vi 2 ventanas a la vez on focus, lo mas cerca ke vi fue una supuesta simulacion de ese comportamiento, y estas eran imagenes que se haciand pasar por ventanas activas , que trucazo diria moe.
Responder Con Cita
  #14  
Antiguo 11-01-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No se pueden tener dos ventanas en primer plano a la vez, y mucho menos con foco. Pero si se pueden colocar delante de las demas aunque sólo una este en primer plano.
Revisa la API

Código:
BOOL SetWindowPos(

    HWND hWnd,	// handle of window
    HWND hWndInsertAfter,	// placement-order handle
    int X,	// horizontal position
    int Y,	// vertical position
    int cx,	// width
    int cy,	// height
    UINT uFlags 	// window-positioning flags
   );
Responder Con Cita
  #15  
Antiguo 12-01-2008
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
si se pueden tener dos ventanas al frente al mismo tiempo.
si el winamp, puede hacerlo cualquier otro programa lo puede hacer.
yo lo he hecho con esos componentes de appcontrols.

El foco, o ventana activa. solo puede ser una.
lo mismo pasa con el winamp. muestra hasta 4 ventanas diferentes.
reproductor
equailizador,
lista de canciones,
y ventana de lyrics o la letra de canciones,
Responder Con Cita
  #16  
Antiguo 12-01-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Claro, si entendemos por primer plano, estar delante de las demas ventanas, y queremos que sean dos o mas, no deben pisarse, pues una estara siempre delante. El truco esta en darles posiciones de "profundidad" consecutivas y que no se solapen (SetWindowPos).
Responder Con Cita
  #17  
Antiguo 15-01-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Bueno muchisimas gracias por las ayudas ahora veremos que sale! =)
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
Abrir outlook en primer plano Jose Manuel Servers 3 24-02-2012 19:25:50
Aplicación en primer plano jordillussa Varios 4 20-03-2007 19:58:43
Saber si una ventana esta en primer plano Yaco Varios 0 28-02-2005 01:28:26
Ejecutar aplicacion externa y que este en primer plano Lorenzati API de Windows 11 06-07-2004 18:22:10
Aplicación siempre en primer plano Novás Varios 2 08-03-2004 09:31:09


La franja horaria es GMT +2. Ahora son las 06:30:34.


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