Si lo que quieres es que el boton que tiene el foco cambie a otro tienes que hacer esto:
Boton_al_que_quieres_que_vaya_el_foco->SetFocus();
y desde ese momento, este boton será el que tenga el foco.
Ahora bien, releyendo tu mensaje, lo que quieres es que cambie de color o algo asi si esta libre el otro, eso has de hacerlo por codig, comprobando si en el lugar "inferior" de la matriz esta libre (o el de la derecha o el de la izquierda)
algo asi:
quieres comprobar el estado del elemento
if (matriz[x+1][y]==libre) // el de la derecha
derecha libre
if (matriz[x-1][y]== libre) // el de la izquierda
izquierda libre
if (matriz
- [y-1]== libre) // el de arriba
arriba libre
if (matriz
- [y+1]== libre) // el de abajo
abajo libre
y asi sucesivamente, IMPORTANTE, vigila los rangos de "x" y de "y", para no pasarte del rango de la matriz, ni por abajo (<0) ni por arriba , por ejemplo en una matriz de C, ni "x-1", ni "y-1" puede ser cero, eso debes comprobarlo ANTES de acceder al elemento de la matriz
Saludos.