Se van a reir cuando les cuente mi problema, pero no le he encontrado solución y ya me desesperó. Así que les estaré muy agradecido si me ayudan.
El problema es este.
En un Panel tengo 4 Speedbuttons(SB). Estos tienen las propiedades
AllowAllUp:=true;
GropuIndex:=1;
Los dos primeros SB realizan sus respectivas funciones (algunas consultas). El problema lo tengo con el SB3 y SB4. Cuando el usuario presione el SB3 este traerá un form con el procedimiento
Código Delphi
[-]procedure TFormMain.SB3Click(Sender: TObject);
beginif FormFecha.ShowModal= mrOk then begin
end else SB3.down:=false;
end;
Ahora, supongamos que el usuario hace click sobre el SB1, este realiza su función y queda en estado presionado. Cuando el usuario hace clicl sobre el sb3 y aparece la ventana, no tengo ningun problema si el usuario hace click en aceptar. El SB3 se pone en down y el SB1 se levanta.
Pero cuando el usuario decide cancelar, por ende se cierra la ventana modal pero el boton SB3 se queda presionado junto con el SB1 y lo que quiero es que si el usuario decide cancelar la accion, el SB3 se levante y quede presionado solo el SB1.
Esto mismo me pasa con el SB4 que funciona similar.

Como ven? me podrían dar algo de luz?
Espero haber sido suficientemente claro
Desde ya, muchas gracias por su ayuda.