Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2008
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Hola,
Abro el hilo nuevamente ya que encontré algo parecido a lo que en aquel entonces (años..... de duda... que se quedó...) intentaba realizar; si bien les comenté del último componente OSD. De casualidad encontre un programa llamado RealDraw en esta página que si lo descargan como versión de prueba, instalan un momento tan solo para confirmar lo que digo, en su ABOUT pueden ver este giro de letras al movimiento del mouse.

¿Alguien puede explicar por favor de que artificios y componentes se valieron para realizar ese texto que se mueve alrededor del mouse en movimiento, en el ABOUT de ese Programa?

.

Última edición por Deiv fecha: 26-10-2008 a las 15:04:45.
Responder Con Cita
  #2  
Antiguo 27-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por Deiv Ver Mensaje
...¿Alguien puede explicar por favor de que artificios y componentes se valieron para realizar ese texto que se mueve alrededor del mouse en movimiento, en el ABOUT de ese Programa?
Hola Deiv; serías tan amable de adjuntar un snapshot?
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #3  
Antiguo 30-10-2008
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Wink

Hola,
Gracias por responder, no se como colocar un SnapShot, y por alguna razón el Foro ya no me permite subir archivos ZIP (dentro la Imagen) ya que aparentemente me excedí del Límite, pero cuando reviso mis preferencias no es así, de repente algo no estoy entendiendo....
De todas maneras envié el ejemplo en esta página donde se ve el efecto del Texto alrededor del mouse, es lo mismo que se ve en el ABOUT de este Programa RealDraw, solo que ya no está con código de JScript, he ahí el interés del mismo de saber cómo lo hicieron?
¿Alguna Idea?

Última edición por Deiv fecha: 30-10-2008 a las 00:37:28.
Responder Con Cita
  #4  
Antiguo 30-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Por alguna razon no puedo ingresar al enlace que dejaste.
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #5  
Antiguo 30-10-2008
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Perdón al editar se me fue la mano, este es enlace de RealDraw:
http://www.mediachance.com/realdraw/
El ejemplo de massy corre bien en IE, lo dudo en otros navegadores, creo que no va con Firefox.
Responder Con Cita
  #6  
Antiguo 30-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Bueno, creo que es mi error el no haber sido mas especifico... me referia al otro link que por cierto ya funcionó, pero no se donde esta la captura de pantalla.

El detalle amigo Deiv es ahorrarme la descarga de 10 Mb. viendo el asunto concretamente.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #7  
Antiguo 30-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Al parecer no solo no he leido el título del hilo, sino que no he visto tus comentarios en fin; a jugar se dijo:

Código Delphi [-]
unit Unit1;

interface

uses Windows, Types, Classes, Graphics, Controls, Forms, ExtCtrls;

type
 TForm1 = class(TForm)
  Timer: TTimer;
  procedure FormCreate(Sender: TObject);
  procedure TimerTimer(Sender: TObject);
  procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
  procedure FormPaint(Sender: TObject);
 end;

var Form1: TForm1;

implementation

{$r *.dfm}

var Bitmap: TBitmap;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer.Interval := 32;
 Bitmap := TBitmap.Create;
 Bitmap.Width := ClientWidth;
 Bitmap.Height := ClientHeight;
end;

procedure TForm1.TimerTimer(Sender: TObject);
begin
 Tag := (Tag - 2) mod 360;
 FormMouseMove(nil, [], 0, 0);
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
const
 Text: string = 'cHackAll ';
 Radio: Integer = 128;
var
 Point: TPoint;
 Index, Value, Color: Integer;
begin
 with Bitmap.Canvas do
  begin
   FillRect(Rect(0, 0, Bitmap.Width, Bitmap.Height));
   Point := ScreenToClient(Mouse.CursorPos);
   for Index := 1 to Length(Text) do
    begin
     Value := Round(Radio * Sin(((2 * Pi) * (Index / Length(Text))) + ((Tag / 180) * Pi)));
     if Value > 0 then
      Color := $D0
     else
      Color := Value + 128;
     Font.Size := 32 - Value;
     SetBkMode(Handle, TRANSPARENT);
     SetTextColor(Handle, RGB(Color, Color, Color));
     Windows.TextOut(Handle, Point.X + Round(Radio * Cos(((2 * Pi) * (Index / Length(Text))) + ((Tag / 180) * Pi))),
                             Point.Y + Value, @Text[Index], 1);
    end;
  end;
 FormPaint(nil);
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
 BitBlt(Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY);
end;

end.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #8  
Antiguo 31-10-2008
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Acabo de leer el post y bueno, no tengo delphi a mano en este momento, y lo probaré en casa para ver tu código cHackAll, de todas maneras en este momento paralelamente subo un Video de el About aquí de este Programa, para que se entienda de que es lo que quiero obtener (Ojo que el link a partir de la fecha solo funcionará por 90 días) pesa apenas 1 MB.
Si observan este video, se han de fijar que si el mouse no se encuentra dentro de la ventana del form, las letras giran o se mueven por doquier y en desorden; y si ubicas el puntero del mouse en algún lugar de la ventana, entonces notarán que el texto: primero, se ubica alrededor como centro en el puntero del mouse, girando; y si se lo deja sin mover el mouse (estático) al final el texto gira alrededor en forma circular.

Con el código y ejemplo que puse lo que intente es realizar algo parecido pero de forma orbital y no encontraba el componente adecuado, pero este ABOUT es el que más se acerca a lo que en ese entonces intenté realizar, probaré el código del último post y veremos si es eso lo que realmente deseo. Gracias.
Saludos
Responder Con Cita
  #9  
Antiguo 01-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
unit _Main; // by cHackAll
 
interface
 
uses Windows, Classes, Graphics, Controls, Forms, ExtCtrls;
 
type
 TMain = class(TForm)
  Timer: TTimer;
  procedure FormCreate(Sender: TObject);
  procedure TimerTimer(Sender: TObject);
  procedure FormPaint(Sender: TObject);
 end;
 
var Main: TMain;
 
implementation
 
{$r *.dfm}
 
var
 Step: Double;
 Bitmap: TBitmap;
 Snake: array [0..255] of TPoint; // must be zero when "Text" is changed!
 
procedure TMain.FormCreate(Sender: TObject);
begin
 Timer.Interval := 33;
 Bitmap := TBitmap.Create;
 Bitmap.Width := ClientWidth;
 Bitmap.Height := ClientHeight;
end;
 
procedure TMain.TimerTimer(Sender: TObject);
var
 Size: Double;
 Value: TPoint;
 Index: Integer;
begin
 Size := 360 / Length(Caption);
 with Bitmap.Canvas do
  begin
   FillRect(Rect(0, 0, Bitmap.Width, Bitmap.Height));
   for Index := 1 to Length(Caption) do
    with Snake[Index] do
     begin
      if Index > 1 then
       Value := Snake[Index - 1]
      else
       Value := ScreenToClient(Mouse.CursorPos);
      Inc(X, Round((Value.X - X) * 0.6));
      Inc(Y, Round((Value.Y - Y) * 0.6));
      Pixels[X, Y] := clRed; // It shows a "snake tail" effect
      TextOut(X + Round(66 * Cos(Step + Index * Size * (Pi / 180))),
              Y + Round(66 * Sin(Step + Index * Size * (Pi / 180))),
              Caption[Index]); // It shows your effect, use one or both
     end;
  end;
 FormPaint(nil);
 Step := Step - 0.06;
end;
 
procedure TMain.FormPaint(Sender: TObject);
begin
 BitBlt(Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY);
end;
 
end.
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx

Última edición por cHackAll fecha: 10-11-2008 a las 19:30:00.
Responder Con Cita
  #10  
Antiguo 01-11-2008
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Gracias por responder nuevamente cHackAll, ayer había probado tu código, y pude observar la muy buena experiencia en programación de tu parte, ya que cuando pensé que no se podía resolver este, lo hiciste en un corto tiempo. Probé digo tu código y estaba a punto de preguntarte: ¿De que manera puedo darle fuente más pequeña a la que en tu ejemplo (un poco grande) se podía ver y así acercarse a mi primer código?

Pero ahora que veo tu archivo ZIP, realmente está fabuloso es casi aproximado a lo que yo intentaba programar hace tiempo; y aunque veo tu código puesto en el foro, me preguntaba si es el mismo del archivo Project.exe (de orbital.zip), ya que no veo por ningún lado el texto que gira que imagino lo colocaste directamente en las propiedades de algun componente. Me queda analizar tu código para aprender del mismo, y agradecerte por darte la molestia y el tiempo en escribir código.... me recuerdas a Seoane que no se limitaba en ayudar con código a muchos foristas (uno de ellos Yo)... ¿Será que tu seas el sucesor?
Sin desmerecer claro está a dec, lepe, Nefatli y roman que también me apoyaron con códigos, y en si a muchos del Foro.

Viendo así superficialmente el Project.exe, me nace 2 preguntas, ya que como no tengo conexión a Internet en Casa, escribo desde un Cyber, y cuando llegue a casa probaré el último código.
Dos preguntas por favor:

1.- El objetivo final mio era precisamente mostrar esa ventana en un About, la pregunta es, como veo tu aplicación funcionando en un fondo BLANCO, ¿Se puede colocar detrás también una imagen de fondo imagino verdad? y/o ¿Puede funcionar dentro de un TRichEdit tambien?

2.- Como dije tendré que estudiar mucho tu código (como Novato) y adaptar al orbital del primer Post de este Hilo y a tu anterior código, para que se vea como el de esa página en IE que mencioné. ¿Si coloco en la ventana un botón, funcionaría normal? pregunto esto porque en mi primer post no funcionaba, pues se ve interesante cuando pasas el mouse por un botón y te cambia el puntero.

No se si sería mucho pedirte que subieras en un archivo adjunto o enviarme via email el Source de tu último código.
Gracias
Saludos

Última edición por Deiv fecha: 03-11-2008 a las 16:02:57.
Responder Con Cita
  #11  
Antiguo 02-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por Deiv Ver Mensaje
...¿De que manera puedo darle fuente más pequeña a la que en tu ejemplo (un poco grande) se podía ver y así acercarse a mi primer código?...
Modifica el valor asignado a Bitmap.Canvas.Font.Size a tu antojo.

Cita:
Empezado por Deiv Ver Mensaje
......aunque veo tu código puesto en el foro, me preguntaba si es el mismo del archivo Project.exe (de orbital.zip)...
Si es el mismo, seria frustrante para los miembros del Club que les muestre la envoltura sin darles el caramelo

Cita:
Empezado por Deiv Ver Mensaje
...ya que no veo por ningún lado el texto que gira que imagino lo colocaste directamente en las propiedades de algun componente...
Claro, no olvidemos que "Caption" es la propiedad que contiene el texto mostrado en la barra de título del formulario.

Cita:
Empezado por Deiv Ver Mensaje
...me recuerdas a Seoane que no se limitaba en ayudar con código a muchos foristas (uno de ellos Yo)... ¿Será que tu seas el sucesor? ...
Pues alumno, sucesor o similar no se si "seré", pero es gratificante poder ayudar a la comunidad

Cita:
Empezado por Deiv Ver Mensaje
...ya que como no tengo conexión a Internet en Casa, escribo desde un Cyber...
Pues ya somos dos.

Cita:
Empezado por Deiv Ver Mensaje
...¿Se puede colocar detrás también una imagen de fondo imagino verdad?...
Es posible usar una imagen de fondo, para ello debes "dibujar" la imagen sobre el Bitmap despues de llamar a "FillRect"

Cita:
Empezado por Deiv Ver Mensaje
...¿Puede funcionar dentro de un TRichEdit tambien?...
Si, para evitarte complicaciones talvez deberias realizar el buffer doble sobre un TPaintBox

Cita:
Empezado por Deiv Ver Mensaje
...¿Si coloco en la ventana un botón, funcionaría normal?...
Si

Cita:
Empezado por Deiv Ver Mensaje
...No se si sería mucho pedirte que subieras en un archivo adjunto o enviarme via email el Source de tu último código...
No es ninguna molestia, pero lo veo innecesario pues como ya he comentado el código siempre estuvo aqui.

Con respecto a enviartelo por email, me parece que va en contra de la filosofía de los foros de internet; sin embargo en alguna ocación talvez podríamos charlar de éstos códigos en alguna reunion

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #12  
Antiguo 02-11-2008
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Vaya, vaya, a la hora que me entero "paisano k'ochala de la llajta" y "1/2 Luna".

Cita:
Empezado por cHackAll
seria frustrante para los miembros del Club que les muestre la envoltura sin darles el caramelo


Gracias por tus explicaciones, la verdad como mencione en una ocasión, no soy programador de profesión, sino Químico, y la verdad programo por hobby, o de vez en cuando o si hay tiempo (no tengo constancia) y a veces se me presentan dudas como este para poder salir de las mismas.

Ya revisé tu código y evidentemente es el mismo, se presentan nuevas dudas:
Cita:
Empezado por Deiv
...¿Puede funcionar dentro de un TRichEdit tambien?...
Cita:
Empezado por cHackAll
Si, para evitarte complicaciones talvez deberias realizar el buffer doble sobre un TPaintBox
¿Es solo colocar el doble buffer?. Adicioné a tu código un TEdit, Un TMemo y un TRichEdit, el movimiento de letras sigue funcionando bien, pero al pasar el mouse por estos componentes, el movimiento de las letras se los ve tal como si estuvieran detrás de estos objetos, es decir se posiciona por detrás. No sé que solución colocar ante ello.

No supe de aquella reunión, estando acá no me enteré, a la hora que leo el hilo de aquella invitación, me hubiera gustado estar presente en ese entonces, pues en nuestro País habemos pocos que programamos en Delphi, la mayoría se dedica a Base de Datos con FoxPro, C++, PHP, y otros, como Novato en alguna ocasión busqué Institutos donde aprender Delphi, pero como ya dije más dan importancia a otros Lenguajes. De todas maneras me gustaría saber la dirección de algún email o teléfono a través de un MP para poder contactarme de los detalles de dirección en LP-Bolivia, please.
Saludos
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
Posicion del mouse Luciano M. OOP 8 11-01-2006 19:05:16
Problema con el mouse y la alineacion del texto en un Tcombobox Carlos Arevalo Varios 3 23-09-2005 17:00:36
problemas con mouse ahkimpech Linux 1 29-07-2005 01:10:03
mouse AngelMarvin Windows 2 20-07-2004 07:16:35
inhabilitar mouse Barriccel API de Windows 2 04-12-2003 15:07:35


La franja horaria es GMT +2. Ahora son las 13:44:59.


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