Hay dos posibilidades, tu decides cual es mejor para vos
.
1) Bueno, para ser sincero no encontre una clase donde Font sea una propiedad común, en un principio creí que sería TWinControl pero pensandolo un poco mas y al ver que no tenia esa propiedad entendí que no tendria mucho sentido, quizá porque hay WinControls que no necesitan un Font (Como por ejemplo el TScrollBar)... en todo caso podriamos "engañar" un poco esto y hacerle creer a todos por unos instantes que solo estamos trabajando con Edits... despues de todo los demas tambien son descendientes de TControl y podemos hacer un Cast entre ellos, asi:
Código Delphi
[-]
procedure CambiarFont(Forma :TForm; Fuente :String);
var
i :Integer;
begin
for i := 0 to Forma.ControlCount -1 do
begin
TEdit(Forma.Controls[i]).Font.Name := Fuente;
end;
end;
Donde Forma es el formulario al que queremos aplicar dicho algortimo y fuente es el nombre de la fuente que queremos ver...
2) Todo lo anterior no seria necesario si tenemos todos los controles con su propiedad ParentFont en True y luego simplemente cambiamos el Font del formulario con una funcion tan sencilla como la siguiente:
Código Delphi
[-]
procedure CambiarFont(Forma :TForm; Fuente :String);
begin
Forma.Font.Name := Fuente;
end;
Automaticamente todos los controles que esten sobre él cambiaran su tipo de letra.
Espero que esto te sirva de algo
.