2- یک کاری که میتونین بکنین این هست که بجای space (کاراکتر با کد 20 هگز)
از space های دیگه استفاده کنین که پهنای بیشتری دارن (در نتیجه تعداد کمتری نیازه)
مثلا از em space استفاده کنین (کد هگز 2003) و با سعی و خطا ببینین theSpaces رو به چند باید تقسیم کنین (3 مناسبه).
3- حالا درسته که تقریبی هست محاسبات،
ولی از سیستم بگیرین مشخصات فونت کپشن فرم رو
و بجای
lngTitle = GetStringWidth(strText, "Tahoma", 8)
همون رو بدین به تابع CreateFont (البته شما اینو استفاده نکردین)
فونت های کپشن معمولا segui و trebuchet و ... هست.