Hola y gracias por adelantado
Estoy intentando ajustar un Form a la línea más larga de un TListBox y después de estrujarme el "coco"

ya no sé si cortarme las venas o dejármelas crecer
Lo intento en el evento OnShow del form tal que así
Código:
var
i : integer;
w : integer;
begin
w := 0;
for i:=0 to Lista.Items.Count-1 do
if( Lista.Canvas.TextWidth(Lista.Items[i])>w ) then
w := Lista.Canvas.TextWidth(Lista.Items[i]);
Form1.Width := w;
end;
Siempre se me queda corto (y eso que aún no he intentado cambiar las fuentes, el estilo ni nada)
¿Donde estoy metiendo la pata????????
Lo dicho, agradecido por la ayuda que podais prestarme
Nota: Antes de que me echeis la bronca, que conste que me he leido el foro de cabo a rabo, con búsquedas, a pelo y sigo como entré (ni repajolera idea)