Ver Mensaje Individual
  #3  
Antiguo 06-07-2007
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Reputación: 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