Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2009
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
TrackBar con rango ??

Hola Amigos. Necesito seleccionar un rango dentro de un TrackBar y no se como.
Ej. El Trackbar va desde 1 a 10 y quiero seleccionar un rango (con el mouse) por ejemplo de 2 a 6, es decir que el valor que me entregue sea 2 de inicio y 6 de fin.
No se si se maneja con el SelStart y SelEnd.

Gracias.
Responder Con Cita
  #2  
Antiguo 13-03-2009
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
Bueno creo que lo que tengo que hacer es adicionar los eventos OnMouseDown y OnMouseUp a TrackBar.
No se como se hace...Quien me puede ayudar...?
Gracias.
Responder Con Cita
  #3  
Antiguo 13-03-2009
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Bueno no sé si es exactamente lo que pides, pero quizás te de alguna idea. Necesitamos un Edit (ReadOnly = True), un UpDown, dos TButton y la propia TrackBar.

El código que he compuesto es este:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
Updown1.Min:=TrackBar1.Min;
Updown1.Max:=TrackBar1.Max;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if CheckBox1.Checked then
  begin
  TrackBar1.SelStart:=StrToInt(Edit1.text);
  CheckBox1.Caption:='Inicio';
  TrackBar1.Position:=StrToInt(Edit1.text);
  end
  else
  begin
  TrackBar1.SelEnd:=StrToInt(Edit1.text);
  CheckBox1.Caption:='Final';
  end;


TrackBar1.Update;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  while trackbar1.Position < Trackbar1.SelEnd do
  begin
  TrackBar1.Position:=TrackBar1.Position + 1;
  Sleep(90);
  end;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 13-03-2009
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
Gracias Marcos, Mira mas o menos lo que quiero es que al arrastar el Thumb del TrackBar me deje pintada la seleccion, y guardar el SelStart y el SelEnd;
Lo que tengo es lo siguiente, pero quiero que al volver a arrastra el Thumb (mouse) me seleccione de nuevo sin utilizar el Tboton;
Por eso deseo si se puede al presionar el Thumb(mouse) tomar el SelStart, arrastar y al soltar el Thumb(mouse) tomar el SelEnd;

(1 TButton, 1 TTrackBar y 2 TEdit)

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  TrackBar1.SelStart := 0;
  TrackBar1.SelEnd := 0;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  TrackBar1.SelEnd := TrackBar1.Position;
  Edit2.Text := IntToStr(TrackBar1.Position);
end;

procedure TForm1.TrackBar1Enter(Sender: TObject);
begin
  TrackBar1.SelStart := TrackBar1.Position;
  Edit1.Text := IntToStr(TrackBar1.Position);
end;

Oto Saludo...
Responder Con Cita
  #5  
Antiguo 13-03-2009
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
Bueno ya casi....
Solo falta pintar el rango a medida que se va corriendo el Slider o Thumb (Mouse), !!Si alguien le sirve la idea, lo mejora o le adiciona la pintada del recorrido!!
(1 TTRackBar y 3 TEdit)
Adicionar los eventos MouseDown y MouseUp al TRackBar.
Código Delphi [-]
private
    { Private declarations }
    Procedure Trackbar1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    Procedure TrackBar1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm4.FormCreate(Sender: TObject);
begin
 Trackbar1.ControlStyle := Trackbar1.ControlStyle + [csClickEvents];
 TForm(Trackbar1).OnMouseDown :=Trackbar1mouseDown;
 TForm(Trackbar1).OnMouseUp :=Trackbar1mouseUp;
end;
En los eventos capturar los valores de SelStart y SelEnd;
Código Delphi [-]
procedure TForm4.TrackBar1Change(Sender: TObject);
begin
  Edit3.Text := IntToStr(TrackBar1.Position);
end;
procedure TForm4.Trackbar1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  TRackBar1.SelStart := TRackBar1.Position;
  Edit1.Text := IntToStr(TRackBar1.SelStart);
end;
procedure TForm4.Trackbar1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  TRackBar1.SelEnd := TRackBar1.Position;
  Edit2.Text := IntToStr(TrackBar1.SelEnd);
end;
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
Trackbar caiac Varios 3 13-01-2009 10:23:04
TrackBar con BD JoseFco Varios 36 07-10-2008 17:51:23
Trackbar y volumen b2k Varios 2 17-09-2007 12:09:48
trackBar rls Varios 1 24-11-2005 15:55:04
TrackBar ibstk Varios 4 13-06-2004 06:27:08


La franja horaria es GMT +2. Ahora son las 08:13:18.


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