Смотрите на методы TextWidth, TextHeight, TextExtent класса TCanvas.
Простой пример.
Т.е. вам надо:
1) опытным путем соотнести разные ширины текста с размером и семейством шрифта (при условии автоматического переноса текста, например в методе TCanvas::TextRect), как вариант сохранить в статический массив;
2) на событие OnChange поля (TEdit) повесить обработчик, в котором изменять шрифт в канве в зависимости от длины вводимого текста