Ver la Versión Completa : Movimiento de texto dentro de un TEdit
Cristhor1982
17-05-2013, 16:51:47
Amigos
Me gustara simular el movimiento de un texto dentro de un TEdit, es para dar informacion y se destaque con el movimiento
algo asi
que se deberia mover.. Este es el texto…
Estoy probando con un timer y el tedit y obviamente sus propiedades...una ayuda please
Saludos
Hola,
No diré que sea perfecto, pero, igual puede darte alguna idea:
unit Project.SampleForm;
interface
uses
Vcl.Forms, Vcl.ExtCtrls, System.Classes,
Vcl.Controls, Vcl.StdCtrls;
type
TSampleForm = class(TForm)
TypeEdit: TEdit;
TypeEditTimer: TTimer;
procedure FormCreate(Sender: TObject);
procedure TypeEditTimerTimer(Sender: TObject);
private
FCurrentCharNum : integer;
FSavedTypeEditText : string;
end;
var
SampleForm: TSampleForm;
implementation
{$R *.dfm}
procedure TSampleForm.FormCreate(Sender: TObject);
begin
FCurrentCharNum := 0;
TypeEditTimer.Interval := 50;
TypeEditTimer.Enabled := true;
FSavedTypeEditText := TypeEdit.Text;
end;
procedure TSampleForm.TypeEditTimerTimer(Sender: TObject);
begin
if TypeEdit.Text = FSavedTypeEditText then
FCurrentCharNum := 0
else
Inc( FCurrentCharNum );
TypeEdit.Text := Copy( FSavedTypeEditText, 1, FCurrentCharNum );
TypeEdit.SelStart := Length( TypeEdit.Text );
end;
end.
Cristhor1982
17-05-2013, 17:36:42
No puedo hacer que funcione tu codigo...:(
Cristhor1982
17-05-2013, 19:10:43
Te cuento, lo que quiero hacer es....Mostrar la fecha en movimiento hasta ahora se me ocurrió algo muy basico
procedure TForm1.FormShow(Sender: TObject);
var
datetime:Tdatetime;
begin
Edit2.Text := DateTimeToStr(now);
Edit2.left := 140;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Edit2.Left:=Edit2.Left -1;
If Edit2.Left = 8 then
Edit2.Left := 140;
end;
Tengo dos edit, uno es solo pantalla y el otro no tiene bordes y esta en autosize, y juego con su Left, es lo que se me ocurrio, Funciona pero no creo que sea la solucion que corresponde...Saludos
Hola,
Siento no poder ayudarte. Lo cierto es que sólo se me ocurre usar algún "Timer" y los correspondientes cálculos y eso, pero, uno puede imaginar que hay formas más curiosas y elegantes de "animar controles" o lograr "efectos" del tipo que te interesa. Lo que el código que he mostrado logra es, poco más o menos, lo que puede verse en la siguiente imagen:
http://img69.imageshack.us/img69/2635/typedit.gif
De todas formas, te adjunto el ejemplo "completo" para que puedas echarle un vistazo.
Cristhor1982
17-05-2013, 19:37:54
Muchas Gracias por tu ayuda, voy a tratar de hacer algo mas "Animado"....si lo logro lo pondre aca saludos. Nuevamente muchas gracias
Hola,
Siento no poder ayudarte. Lo cierto es que sólo se me ocurre usar algún "Timer" y los correspondientes cálculos y eso, pero, uno puede imaginar que hay formas más curiosas y elegantes de "animar controles" o lograr "efectos" del tipo que te interesa. Lo que el código que he mostrado logra es, poco más o menos, lo que puede verse en la siguiente imagen:
http://img69.imageshack.us/img69/2635/typedit.gif
De todas formas, te adjunto el ejemplo "completo" para que puedas echarle un vistazo.
ecfisa
17-05-2013, 21:42:47
Hola Cristhor1982.
No sé si se aproxíma a lo que buscas, pero esta podría ser otra opción:
...
implementation
var
Texto : string = ' Este es el texto que se deberia mover. ';
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 1000 div 10;
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Edit1.Text := Copy(Texto, Length(Texto), 1) + Copy(Texto, 1, Length(Texto) -1);
Texto := Edit1.Text
end;
Saludos :)
Cristhor1982
17-05-2013, 23:36:34
Gracias...por la orientación ....saludos
:)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.