Una soluzione potrebbe essere quella di utilizzare l'evento OnExit, come suggerito, in modo da tenere conto del valore modificato quando il controllo perde il focus.
Qualora questa soluzione non sia fattibile, per vari motivi che non stiamo ad approfondire, potresti anche utilizzare un componente TTimer per applicare le modifiche apportate ai valori dopo un breve lasso di tempo.
In breve, quando modifichi un valore su qualsiasi trackbar, invece di aggiornare immediatamente gli oggetti correlati potresti invece delegare questa azione a un timer; il timer dovrebbe essere sempre attivo, e l'azione di modifica di un valore dovrebbe andare ad aggiornare il "momento" (es. un campo o variabile di tipo TDateTime) in cui effettuare l'applicazione della modifica, magari incrementando di un secondo la data/ora corrente, e andando a fare questo incremento ogni volta che viene modificato un valore.
Dal timer, sarebbe sufficiente controllare se il "momento" stabilito è trascorso; in caso affermativo, applichi i valori modificati prelevandoli dalle trackbar e disabiliti un flag che impedisce al timer di rieseguire la stessa operazione subito dopo, a meno che non intervenga nel frattempo un'altra modifica al valore delle trackbar, che aggiornerebbe il "momento" e il flag per riprendere il meccanismo.
Ciao!![]()