Continuación de mi anterior truco, botones con efecto 3D en el Visual Basic
(a "pelo",sin DLL, API ni OCX).

 

Autor: Jordi Fosch jfosch@arrakis.es
Fecha puesta en escena: 20/Ene/98


Si habéis leído atentamente mi anterior truco para emular el nuevo efecto 3D de Microsoft que incluye ya su nuevo software, os habréis dado cuenta que me he olvidado de un par de detalles.

El proceso es bien simple, después de "colgar" todos los gráficos en el form y dejarlos listos, al ejecutarlo pueden pasar un par de cosas no previstas:

  1. Que al mover el ratón rápidamente encima de ellos queden resaltados algunos (efecto muy feo) y el resto no.
  2. Que al pulsar en el botón no aparezca el efecto llamado "feedback", NO mostrando el resalte característico del botón invertido y su icono ligeramente desplazado.

Para poner remedio a estos, los únicos (creo yo) inconvenientes que presenta este truco, podéis preparar vuestro programa de retoque fotográfico para trabajar con él.

Antes de empezar coged de la caja de imagen del Visual donde tenéis las imágnes solamente sus botones, uno a uno para pegarlos en el programa de retoque fotográfico.

Ahora hay que invertir los colores de los bordes del resaltado, es decir, el gris y el blanco. Para llevar a cabo esta operación coged con el cuentagotas el color gris y empezad a repasar con el lápiz todo el borde blanco. Lo mismo, pero con color blanco, el borde restante (el gris).

Ya tenéis el efecto invertido.

Para rematar con el truco, tenemos que coger la herramienta de selección y desplazar unos pixeles la imagen o icono que lo compone hacia abajo y hacia la derecha (un pixel hacia la derecha y otro hacia abajo).

Guardar la imagen en BMP o meterla al Portapapeles (CONTROL + V en la caja de imagen del Visual).

¿ Y ahora que hacemos con esta imagen resaltada inversa ? muy sencillo: VISIBLE=FALSE, situarla justamente encima de la que corresponde (¡ tenemos ya 3 imágenes una detrás de otra !) y al MOUSE DOWN de la imagen anterior (resaltado simple) IMAGE?.VISIBLE=TRUE, claro que ahora tenéis que mover el código que teníais antes hacia aquí para que al pulsar justamente en esta lo ejecute.

Para que quede un efecto todavía más aconseguido, meter en el MOUSE UP de la imagen resaltada, es decir, la primera que aparece al mover el ratón la imagen que la precede (la imagen invertida con el icono ligeramente desplazado) VISIBLE=FALSE.

¡ No olvidéis en el MOUSE MOVE del form hacer invisibles estas nuevas imágenes (las del efecto pulsado)!.

Ya se que esto es un lío, para comprenderlo lo tienes que ver; por eso he hecho algunos proyectos con el visual, ¡dadles un vistazo!.

Pincha aquí para bajarte varios archivos de ejemplo para Visual Basic 4. (trucos_3d.zip 13.7 KB)
Pincha
aquí para bajarte varios bitmaps preparados para este efecto 3D. (bmp_3d.zip 2.64 KB)


Ayuda gráfica del proceso

NOTA: En vez de utilizar algún programa de retoque para crear los gráficos (botones) yo utilizo el programa MICROANGELO que crea iconos, muy útil pues es simple, fácil y muy rápido para hacer este tipo de detalles concretos.

1. Pillo los gráficos del Visual, en este caso yo mismo los creo con el programa MICROANGELO:

2. Ya puedo seleccionar la imagen y llevarla al Portapapeles, para meterla en una caja de imagen en el Visual. Con esto tenemos el botón normal.

3. Ahora me dedico a crear los bordes con la herramienta correspondiente del programa para simular el efecto de selección (el que se nos presenta al hacer click con el ratón).

4. Después de pegada la imagen en el Visual, en otra caja diferente de imagen, seguimos con el efecto que aparecerá al mover el ratón. Esto se consigue simplemente cambiando los bordes que hemos pintado con el MICROANGELO de color, es decir, el gris por el blanco y el blanco por el gris.

5. Veremos, después de pegar este nuevo tipo de botón en el Visual el caro efecto y su posición.

6. Ahora solamente tenemos que hacer visibles e invisibles las imágines oportunas en su momento (ver texto anterior).


Dudas, comentarios... estaré encantado de poder ayudaros.

Jordi Fosch
jfosch@arrakis.es
http://www.arrakis.es/%7ejfosch


la Luna del Guille o... el Guille que está en la Luna... tanto monta...