View Full Version : فونت؟
1485159
دوشنبه 18 خرداد 1388, 15:39 عصر
ببخشید شاید سوال تکراری باشه ولی من جست و کردم...
میخوام اسم فونت هایی رو که موجود هست رو بدست بیارم و بعد توی یه لیست باکس بریزم..
ممنون.
shervin farzin
دوشنبه 18 خرداد 1388, 17:19 عصر
سلام
ComboBox1.Items:=Screen.Fonts;
موفق باشيد.
1485159
دوشنبه 18 خرداد 1388, 21:45 عصر
خوب حالا چیکار کنیم که باهمون فونت نشون بده؟
مثل word
ممنون.
shervin farzin
سه شنبه 19 خرداد 1388, 19:54 عصر
سلام
براي اين كار بايد رسم Item هاي combobox رو خودتون انجام بديد .
هر combobox رويدادي به نام OnDrawItem داره . كد زير رو در اين رويداد بنويسيد :
with ComboBox1.Canvas do
begin
Font.Name:=Screen.Fonts.Strings[Index];
FillRect(Rect);
TextOut(Rect.Left,Rect.Top,pchar(Screen.Fonts.Stri ngs[Index]));
end;
نكته : توجه داشته باشيد كه بايد مقدار Style براي combobox مورد نظرتون رو csOwnerDrawFixe قرار بديد
موفق باشيد .
Felony
سه شنبه 19 خرداد 1388, 20:50 عصر
سلام
براي اين كار بايد رسم Item هاي combobox رو خودتون انجام بديد .
هر combobox رويدادي به نام OnDrawItem داره . كد زير رو در اين رويداد بنويسيد :
کد:
with ComboBox1.Canvas do
begin
Font.Name:=Screen.Fonts.Strings[Index];
FillRect(Rect);
TextOut(Rect.Left,Rect.Top,pchar(Screen.Fonts.Stri ngs[Index]));
end;
نكته : توجه داشته باشيد كه بايد مقدار Style براي combobox مورد نظرتون رو csOwnerDrawFixe قرار بديد
موفق باشيد .
این کار لازم نیست ، کافیه تو رویداد Change شئ ComboBox کد زیر رو بنویسیم :
ComboBox1.Font.Name:=ComboBox1.Text;
shervin farzin
سه شنبه 19 خرداد 1388, 21:38 عصر
سلام
این کار لازم نیست ، کافیه تو رویداد Change شئ ComboBox کد زیر رو بنویسیم
جسارتا خير . با پيشنهاد كه فرموديد ميشه بعد از انتخاب يك Item ، فونت نوشته Combobox رو
تغيير داد . اما با رسم مجدد Item ها به شكلي كه عرض كردم ، زماني كه كاربر DropDown مربوط
به combobox رو باز ميكنه ، در ليست نمايشي علاوه بر نام Font ، تاثيرش روي متن رو هم خواهد
ديد . مثل Font Combobox كه در برنامه Word ملاحظه ميكنيد .
موفق باشيد .
1485159
سه شنبه 19 خرداد 1388, 23:08 عصر
یه از کجا تشخیص بدیم که روی سیستم چه فونت هایی نصبه (منظورم همون فارسی یا اینگلیسیه)؟
1485159
سه شنبه 19 خرداد 1388, 23:13 عصر
یه سوال دیگه:
این کد پایین چیکار میکنه؟؟
ممنون.
FillRect(Rect);
TextOut(Rect.Left,Rect.Top,pchar(Screen.Fonts.Stri ngs[Index]));
Felony
سه شنبه 19 خرداد 1388, 23:37 عصر
سلام
جسارتا خير . با پيشنهاد كه فرموديد ميشه بعد از انتخاب يك Item ، فونت نوشته Combobox رو
تغيير داد . اما با رسم مجدد Item ها به شكلي كه عرض كردم ، زماني كه كاربر DropDown مربوط
به combobox رو باز ميكنه ، در ليست نمايشي علاوه بر نام Font ، تاثيرش روي متن رو هم خواهد
ديد . مثل Font Combobox كه در برنامه Word ملاحظه ميكنيد .
موفق باشيد .
لطفا یه نمونه یا عکس بزراید ، من تست کردم جواب نداد ...
1485159
چهارشنبه 20 خرداد 1388, 00:02 صبح
لطفا یه نمونه یا عکس بزراید ، من تست کردم جواب نداد ...
بابا اونو بیخیال ....
جواب منو بدیدن...
as13851365
چهارشنبه 20 خرداد 1388, 12:20 عصر
لطفا یه نمونه یا عکس بزراید ، من تست کردم جواب نداد ...
نمی دونم شما کجای کار مشکل دارید ولی فایل زیر رو دانلود کنید
اندازه : 150 کیلو
31837
خوب حالا چیکار کنیم که باهمون فونت نشون بده؟
مثل word
خوب از رویدادها استفاده کن و نام فونت رو به هر کامپوننتی که می خواهی اون فونت رو داشته باشه بده .
مثال :
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
memo1.Font.Name:=ComboBox1.Text;
edit1.Font.Name:=ComboBox1.Text;
Button1.Font.Name:=ComboBox1.Text;
end;
1485159
چهارشنبه 20 خرداد 1388, 15:35 عصر
خوب از رویدادها استفاده کن و نام فونت رو به هر کامپوننتی که می خواهی اون فونت رو داشته باشه بده .
حالا مشکل من یه چیز دیگه هست که تو صفحه قبل گفتم....
ممنون.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.