PDA

View Full Version : تغییر فونت همه آبجکت های روی فرم



sajjad_kochekian
پنج شنبه 23 اردیبهشت 1389, 20:13 عصر
روشی هست که بشه راحت همه آبجکت های روی فرم را فونتش را تغییر داد

مهدی قربانی
جمعه 24 اردیبهشت 1389, 00:34 صبح
سلام
سئوالتون خیلی کلی هست منظورتون از همه آبجکتها به چه صورتیه ؟ همونطور که می دونید کنترلهای مختلفی روی فرم قابل استفاده هست .

sajjad_kochekian
جمعه 24 اردیبهشت 1389, 09:59 صبح
کلیه آبجکت های که متن دارند.
مثل: لیبل ها تکست باکس ها و دکمه ها و لیست باکس و ...

مهدی قربانی
جمعه 24 اردیبهشت 1389, 23:29 عصر
سلام
بله امکان پذیره ، منتها شما از روی خود فرم مورد نظر نمی تونید این کار رو اجرا کنید چون باید فرمتون در نمای Design باز شده و تغییرات اعمال بشن ولی خوب این عملیات مورد نظر شما خیلی اقدام متعارفی نیست چون کنترلهای موجود روی فرم عموماً با یک فونت سایز ، رنگ و سایر مشخصه های یکسان بکاربرده نمیشن مگه اینکه شما بخواین هر کنترل با یک فونت ، سایز و رنگ خاصی تنظیم بشه که خوب کار رو کمی سخت میکنه!

mobtaker61
سه شنبه 02 شهریور 1389, 10:45 صبح
سلام
بله امکان پذیره ، منتها شما از روی خود فرم مورد نظر نمی تونید این کار رو اجرا کنید چون باید فرمتون در نمای Design باز شده و تغییرات اعمال بشن ولی خوب این عملیات مورد نظر شما خیلی اقدام متعارفی نیست چون کنترلهای موجود روی فرم عموماً با یک فونت سایز ، رنگ و سایر مشخصه های یکسان بکاربرده نمیشن مگه اینکه شما بخواین هر کنترل با یک فونت ، سایز و رنگ خاصی تنظیم بشه که خوب کار رو کمی سخت میکنه!

بله امکانش هست.
البته کار بسیار کسل کننده ای هست. چون باید تو قسمت کد نویسی فرم برای تک تک لیبلها یا تکست باکسها دستوررو تعریف کنی.
چندسال پیش یه برنامه نوشتم برای دبیرخانه که اون رو دو زبانه کرده بودم. یعنی بالای فرمها یک کلید داشت که همون جا اگه زبان رو عوض می کردی تمام فرمت عوض میشد و من تا 4 زبان رو روش پیاده کردم.
برای این کار هم اومدم اول یک جدول تعریف کردم که هر رکوردش نام لیبلها بود بعد به ازای هر زبان یک فیلد ساخته بودم و معادل متنی اون لیبل (رکورد) رو بعنوان مقدار فیلد اون زبان مینوشتم.
مثلا من رکورد "نامه" داشتم و تو مقدار فیلد "English" اون تایپ کرده بودم Letter
بعد تو فرم یک کومبو داشتم که تو آپدیت اون تعریف کرده بودم که مثلا اگه کاربر انگلیسی انتخاب کرد بره به یه ماژول و اونجا تک تک لیبل ها رو با lookup از جدول زبانم پیدا میکردم و اون رو با خاصیت caption لیبل عوض می کردم.
خیلی باحال شده بود
اما من یک هفته وقت گذاشتم تا زبان انگلیسیش رو تمام کردم.
بعد هم کره ای و عربی گذاشتم براش
خیلی برنامه توپی شده بود.
اگه پیداش کردم حتما میذارم تا همه استفاده کنند.

alirezabahrami
سه شنبه 02 شهریور 1389, 12:31 عصر
روشی هست که بشه راحت همه آبجکت های روی فرم را فونتش را تغییر داد


سلام
بله امکان پذیره ، منتها شما از روی خود فرم مورد نظر نمی تونید این کار رو اجرا کنید چون باید فرمتون در نمای Design باز شده و تغییرات اعمال بشن ولی خوب این عملیات مورد نظر شما خیلی اقدام متعارفی نیست چون کنترلهای موجود روی فرم عموماً با یک فونت سایز ، رنگ و سایر مشخصه های یکسان بکاربرده نمیشن مگه اینکه شما بخواین هر کنترل با یک فونت ، سایز و رنگ خاصی تنظیم بشه که خوب کار رو کمی سخت میکنه!

سلام
با استفاده از يك حلقه for ... next ميتوانيد خصوصيت كليه آبجكت هاي روي فرم از جمله فونت آن را تغيير بدهيد حتي از روي خود فرم مورد نظر
مثلاً براي تغيير نام فونت كليه آبجكت ها به zar بصورت زير عمل كنيد :



Dim i As Integer
For i = 0 To Me.Controls.Count
Me.Controls.Item(i).FontName = "zar"
Next i

موفق باشيد

e.shahidifar
سه شنبه 02 شهریور 1389, 13:40 عصر
با سلام فایل ضمیمه اونچه رو که شما می خواهید انجام میده اما تغییرات انجام شده در نمای فرم ذخیره نخواهد شد. شما هر نوع کنترل جدیدی رو که به فرم اضافه می کنید، می تونید به کد اضافه کرده و فونتش یا هر ویژگی مشترک دیگیه اونارو باهم تغییر بدید. ( در ضمن برای فراخوانی فونت های سیستم من از نمونه فایل جناب آقا anbaran استفاده کردم.)