PDA

Ver la Versión Completa : animaciones sin form o con form trasparentes?


migueilichenco
15-11-2003, 23:18:43
hola a todos,

bueno planteo mi problema y duda:

alguno de ustdes habra podido ver esa animacion de el mayordomo de windows, el clic de ofice o alguna de esas animaciones de broma de windows donde un conejo corre o dos ojos se mueven por la panatalla, bueno esas animaciones no tienen un formularios solo estan en la pantalla

o la animacion hace de form?

mi pregunta es como se puede hacer eso para que solo se vea la animacion que puedo hacer

gracias de antemano

Nadie
16-11-2003, 03:39:36
en delphi 6/7 tenes en el formulario la propiedad transparent color, pone eso en true y tenes otra propiedad que es transparentcolorvalue y ahi elegis el color de fondo de la animacion y listo, con eso tenes un formulario con la forma de la imagen y no transparente

DarkByte
24-04-2004, 19:59:45
En www.torry.net también encotrarás componentes para hacer la "carcasa" de un form a partir de una imágen. Posiblemente te sirvan.

Lepe
25-04-2004, 05:12:53
bueno, aporto mi granito de arena sobre el tema.

lo del Mayordomo, usa el Microsoft Agent, de hecho hay un programa concreto para realizar los monigotes

Microsoft Agent download page for developers
Agent Character Editor

The Agent Character Editor lets you create your own custom Microsoft Agent characters from your source bitmap images. Despite its name, it really isn't an editing tool so you can't just edit a character that exists already.

Download the Microsoft Agent Character Editor (1 MB exe)

aqui la direccion (http://www.microsoft.com/msagent/downloads/developer.asp#ace)

Creo que la técnica usada para las mascotas virtuales (los tipicos gatitos que se mueven por la pantalla) es distinta que el Microsoft Agent.

Y aunque me puedo equivocar, aseguraría que no tiene nada que ver con la propiedad Transparent de delphi 6. Provocaría muchos parpadeos de pantalla.

Buscando en la red, he encontrado un sitio para crear mascotas virtuales:
Hay que registrase (proceso gratuito segun dice) para poder acceder a todas las opciones de la web Neopets (http://www.neopets.com/addpet.phtml)

Saludos y espero tu respuesta, me gustaría saber si me he equivocado o no ;)

Lepe
25-04-2004, 05:15:39
DarkByte, espero que esto sea un fallo del servidor.... porque el mensaje original
de migueilichenco tiene la fecha: 15/11/2003 23:18 al menos eso me dice a mi. :D

DarKraZY
26-04-2004, 16:24:05
Para realizar un formulario con cualquier forma, por ejemplo el windows media player, deberías utilizar la función del API SetWindowRegion. Esta te permite darle forma a tu formulario, y no que sea transparente, sino que tenga la forma que tu quieras ;)

Un saludo.-

the darkness
28-04-2004, 19:04:00
y como consigo la funcion SetWindowRegion de dicho api, la verdad ya la busque pero nada. nos puedes informar ??
gracias

DarKraZY
28-04-2004, 23:48:11
Perdón, pero me equivoqué con el nombre de la función :P, lo siento.

La función es "SetWindowRgn"

Aquí tienes un pequeño ejemplo de como utilizarlo.


procedure TForm1.FormCreate(Sender: TObject);
Var
hRegion : Thandle;
Par : Array [0..1024] of TPoint; // Data -> region
Cnt : Integer;
begin
Cnt := GenRegion(Par, BitBtn1.Glyph,
(BitBtn1.Width - BitBtn1.Glyph.Width+1) div 2,
(BitBtn1.Height - BitBtn1.Glyph.Height+1) div 2);
hRegion := CreatePolygonRgn(Par, Cnt, ALTERNATE);
SetWindowRgn(BitBtn1.handle, hRegion, true);
...


Para más información un par de links

http://www.latiumsoftware.com/es/articles/00003.php
http://www.latiumsoftware.com/es/articles/00004.php

the darkness
29-04-2004, 14:34:33
ya probe el código y tiene un problema con la este código:
GenRegion(Par, BitBtn1.Glyph,
(BitBtn1.Width - BitBtn1.Glyph.Width+1) div 2,
(BitBtn1.Height - BitBtn1.Glyph.Height+1) div 2);
hRegion := CreatePolygonRgn(Par, Cnt, ALTERNATE);
al parecer no reconoce genRegion.

ojala y puedas seguir ayudandonos

DarKraZY
29-04-2004, 15:05:20
El problema es que te falta añadir la Unit en la que está definida esa función. Si te soy sincero... no sé ahora mismo cual es. Pásate por alguno de los links que puse y echa una ojeada.

Un saludo.