نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
سلام دوباره
خدمت جناب بهرامی گرامی

1- این که وقتی پهنای فرم از یک اندازه ای بیشتر میشه،
کپشن رو ناقص نشون میده بخاطر محدودیت ذاتی اندازه خود کپشن هست : 128 کارآکتر
پس شما چک کنین که اگه اندازه رشته با اون space قبلش از 128 بیشتر شد،
از تعداد space ها همون اندازه کم کنین،
اینجوری دیگه آخر کپشن رو نمیبره.
البته بهتره واسه منفی بودن هم چک و به 0 تبدیلش کنین.

2- یک کاری که میتونین بکنین این هست که بجای space (کاراکتر با کد 20 هگز)
از space های دیگه استفاده کنین که پهنای بیشتری دارن (در نتیجه تعداد کمتری نیازه)
مثلا از em space استفاده کنین (کد هگز 2003) و با سعی و خطا ببینین theSpaces رو به چند باید تقسیم کنین (3 مناسبه).

3- حالا درسته که تقریبی هست محاسبات،
ولی از سیستم بگیرین مشخصات فونت کپشن فرم رو
و بجای
lngTitle = GetStringWidth(strText, "Tahoma", 8)

همون رو بدین به تابع CreateFont (البته شما اینو استفاده نکردین)
فونت های کپشن معمولا segui و trebuchet و ... هست.

4- اون 130 نمیدونم از کجا اومده
theSpaces = (Frm.WindowWidth - lngTitle) / 130

ولی GetTextExtentPoint32 اندازه رو به pixel برمیگردونه
که برای تبدیلش به cm باید به 567 تقسیم بشه
با سلام و خدا قوت خدمت جناب آقای mazoolagh و جناب آقای eb_1345

با اجازه جناب آقای بهرامی اگه برای جناب mazoolagh امکان داره این مواردی رو که فرمودین در یک فایل نمونه ارائه بفرماین
با تشکر