ورود

View Full Version : مشکل در ساخت شیء RTFLabel در زمان اجرا



جواد ملاولی
شنبه 27 فروردین 1390, 19:20 عصر
سلام.
وقتی که شیء RTFLabel (از مجموعه TMS) رو در زمان اجرا می سازم، برنامه قاط میزنه و دیگه فرم بسته نمی شه. اگه کسی از دوستان می تونه، امتحان کنه ببینیم مشکل از کامپوننته یا نه.
ممنون

AliReza Vafakhah
شنبه 27 فروردین 1390, 23:32 عصر
من که تست زدم مشکلی نداشت . نسخه TMS من هم آخرین نسخه هست ، دلفی 2010.

جواد ملاولی
یک شنبه 28 فروردین 1390, 05:50 صبح
ممنون از شما.
منم از آخرین نسخه اش استفاده می کنم و نسخه ی دلفیم 2010 و ویندوز 7
اگه وقتشو داری کدش رو بزار اینجا تا با دلفی خودم کامپایلش کنم ببینم جواب میده یا نه.

AliReza Vafakhah
یک شنبه 28 فروردین 1390, 12:52 عصر
rntRTFLabel:= TRTFLabel.Create(Self);
rntRTFLabel.Parent:= Self;
rntRTFLabel.RichText:= 'Run Time Object';
rntRTFLabel.Top:= 40 ;
rntRTFLabel.Left:= 30 ;

جواد ملاولی
یک شنبه 28 فروردین 1390, 18:54 عصر
مشکل از کامپوننت بود.
حالا یک سوال دیگه: وقتی که در زمان اجرا این کامپوننت رو میسازم و یک متن رو بهش میدم، از کجا بفهمم که اون متن جاش شده یا نه که بخوام طول و عرض کامپوننت رو تغییر بدم؟

AliReza Vafakhah
یک شنبه 28 فروردین 1390, 23:56 عصر
مشکل از کامپوننت بود.
حالا یک سوال دیگه: وقتی که در زمان اجرا این کامپوننت رو میسازم و یک متن رو بهش میدم، از کجا بفهمم که اون متن جاش شده یا نه که بخوام طول و عرض کامپوننت رو تغییر بدم؟

خوب شما باید بعد از مقداردهی به شی مربوطه حساب کنید طول رشته چقدر هست بعد از اون هم باید تعداد پیکسل بزرگترین کاراکتر در صفحه کلید را حساب کنید و سپس در طول رشته ضرب کرده و در آخر Width شی RTLLabel را برابر عدد مربوطه قرار دهید.

من تعداد پیکسل M که بزرگترین پهنا رو نصبت به دیگر کارکترها داره حساب کرد ، که شد 9 و در طول رشته ضرب کردم . با این روش مشکلتون حل میشه.

RTFLabel1.RichText:= Edit1.Text;
RTFLabel1.Width:= Length(Edit1.Text) * 9