![]() |
Donde estoy¿?
Saludos a todos... Estoy usando un TPanel (bueno.. mas de uno) y uso las sentencias SendToBack y ..ToFront .... pero ¿como puedo saber en un determinado momento si tengo ese panel al frente o no? puesto que la propiedad visible es en ambos casos TRUE ... gracias por su colaboracion.
|
Hola, ¿exactamente para que quieres saberlo?, porque yo nunca me he encontrado en esa situación. Si tengo uno objeto detrás y quiero que se ponga delante le hago un traer al frente y cuando no lo tenga que usar lo vuelvo al fondo.
Nada más. Todo esto, en tiempo de ejecución. Porque en tiempo de diseño, puedes saberlo. El que está por encima visualmente y el que está por detrás. Hay no hay problema, no? Es que no he entendido muy bien, el porque de tu duda. Saludos |
Supongo que existirá una función maravillosa que te devuelva la posición, pero como no la se, puede que esto te sirva :D
Ahora seguro que viene roman y me dice que existe un IndexOf o algo así :D |
Ya echaba yo de menos al agonioso de Domingo :D siempre aguandome las respuestas, pero que te he hecho??? :p
Saludos p.d: tarco35, olvida mi mensaje, seguro que el codigo de seoane es lo ideneo para tí. |
Cita:
Aprovecho para decir, aunque supongo que es evidente, que para saber si un control es el que esta por encima de todos solo hay que hacer algo como esto:
|
Seoane: ¿Cual es la teoría de ese código?
Se supone que todos los paneles tendrán el parent asignado (el mismo padre), significa que al cambiar su ZOrder, se cambia de sitio en el array Controls?? Según he visto en la VCL, BringtoFront, asigna la propiedad ZOrder a True, por aquí si vería sentido deducir cual está al principio, pero por Controls..... me he perdido. Saludos |
La teoria Lepe es la siguiente:
BringToFront llama a la funcion SetZOrder
La función SetZOrder llama a SetZOrderPosition
Y SetZOrderPosition cambia la posicion del control dentro de la lista de controles:
¿Lo ves ahora? :confused: |
Pues sip, el caso es que tuve un problema con el JetEdit (editor rápido que uso para ver un .pas). Solo pude llegar al primer paso de SetZOrder(True), de ahí que me extrañase mucho.
Asias y perdone usted por hacerle perder tiempo ;) Saludos |
Gracias...
Gracias por su colaboracion... me ha sido muy util.... reciban un cordial saludo
|
La franja horaria es GMT +2. Ahora son las 09:37:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi