Google

sábado, julio 23, 2005

Un nuevo blog...

A las buenas!

Hoy me he llevado la grata sorpresa de ver que otro amiguete mío (y compañero m&íacute;o) se ha apuntado a la fiebre de los blog. El blog de José Luis.

Esta semana de trabajo ha sido durilla, pero he estado haciendo algo interesante. Estaba programando en .NET un control que puede contener varios controles, y se pueden arrastrar para recolocarlos. Cuando los arrastras, se ve una imagen translúcida del control. Además, tambíén hice unos paneles que se podían colapsar o expandir.

Esto me ha costado bastante más, porque cuando le cambias dinámicamente el tamaño a un control, si éste contenía varios controles, el framework se empeña en reposicionarlos, y el efecto de expandir o colapsar le costaba bastante (que iba muy lento y con parpadeo, vaya). Sin embargo, al final he conseguido que fuera bastante rápido haciendo un pequeño truco: Capturo una imagen del control tal cual está (si es para colapsar), se la pongo al control como imagen de fondo, y oculto los controles ;).

Aplicando una variación de esta técnica en el otro control (el que puede contener varios controles y permite reposicionar) consigues que si uno de los controles se reposiciona, el resto se mueven muy suavemente.

Además, al hacer que el cambio de tamaño se realice en un hilo diferente al del interfaz del usuario, haces que este siga respondiendo a los eventos del usuario, con lo que puedes tener varios controles a la vez redimensionandose.

Interesante? No lo sé, pero la verdad es que en la pantalla queda bastante bien... ;)

Bueno, pues nada, me despido ya... Hasta la próxima!

Comments:
cómo te lo pasas!
Veo que en cualquier resquicio aparece tu vena gráfica de los juegos...Esto de las transparencias y los multiples hilos son un peligro en tus manos ;-)
 
cómo te lo pasas!
Veo que en cualquier resquicio aparece tu vena gráfica de los juegos...Esto de las transparencias y los multiples hilos son un peligro en tus manos ;-)
 
Publicar un comentario

Links to this post:

Crear un enlace



<< Home

This page is powered by Blogger. Isn't yours?