Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2007
pennylane pennylane is offline
Miembro
 
Registrado: Feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
Valor de trackbar fijo

Holas!!

Estoy con una aplicacion y tengo varios Trackbar cuyos valores deben sumar 100. Como podria limitarlo para q la suma de todos siempre sea 100 ? En el onChange me imagino no ? Quiero que al bajar un Trackbar se suban el resto de Trackbars y viceversa. Espero haberme explicado. En caso de q un solo trackbar este a 100 (el maximo), no se podrian subir el resto tan solo bajar el primero.

Gracias!
Responder Con Cita
  #2  
Antiguo 06-07-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.700
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Pues no vas mal desencaminado; La forma más simple sería interceptar el evento de cambio detodos los componentes y ahí recalcular los valores; No explicas muy bien cual es el método o la fórmula que deben seguir los componentes (los valores que deben adoptarlos otros al cambiar uno de ellos), pero si la tienes clara, es cuestión de programarla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 06-07-2007
pennylane pennylane is offline
Miembro
 
Registrado: Feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
Gracias por responder. Te voy a intentar pegar dos lineas de codigo a ver q te parece

Código Delphi [-]
procedure TForm1.BarMarcajeChange(Sender: TObject);
begin
  if (BarPase.Position + BarDesmarque.Position + BarTirolibre.Position + BarEntrada.Position + BarParada.Position + BarMarcaje.Position + BarRegate.Position + BarCreatividad.Position + BarControl.Position + BarRemate.Position) = 100) then
    BarMarcaje.Enabled := False
  else
    LabelMarcaje.Caption := IntToStr(BarMarcaje.Position);
end;

Cada BarLoquesea es un Trackbar que corresponde a una habilidad de un jugador y lo primero que hago al entrar en el evento OnChange es comprobar que la suma de todas las habilidades no sea 100. Si es 100 deshabilito el TrackBar. Si no, lo dejo modificar y cambio su Label (para que se muestre el valor en una etiqueta).

Ahora bien, el evento Enabled del Trackbar es demasiado radical... No existe alguna otra forma de que el usuario no pueda mover el Trackbar sin que se le quede el boton deshabilitado ?? Ademas no se muy bien donde podría volver a habilitarlo y no se como podría saber si el usuario cambia la position del Trackbar para subir (que no se podría en caso de sumar 100) o para bajar (que si se podria). Alguien tiene alguna solución ??
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 rls Varios 1 24-11-2005 15:55:04
Columna con un texto fijo fjolivares Firebird e Interbase 3 14-02-2005 21:12:35
Consulta con rango de dias fijo???? danytorres Varios 3 19-01-2005 15:17:00
ActionToolBar fijo walrus OOP 0 13-09-2004 02:33:32
TrackBar ibstk Varios 4 13-06-2004 06:27:08


La franja horaria es GMT +2. Ahora son las 06:24:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi