PDA

View Full Version : نحوه نصب Font



دنیای دلفی
دوشنبه 12 اردیبهشت 1384, 20:51 عصر
با سلام خدمت دوستان

من می خواهم در ابتدا بررسی کنم که آیا مثلا فونتهای Titr و Traffic در Windows نصب هستند یا نه اگر نیستند با استفاده از کد نویسی آنها را نصب کنم .

اگر لطف کنید کد مربوطه را برای نصب تعداد مشخصی فونت را بنویسید .


ممنون میشوم
:موفق:

vcldeveloper
سه شنبه 13 اردیبهشت 1384, 02:33 صبح
برای اینکه مطمپن بشید فونتی نصب شده یا نه، می تونید لیست فونت های نصب شده در سیستم رو بدست بیارید و اسم فونت مورد نظر خود رو در لیست فونتها جستجو کنید. برای مثال:


function FontInstalled(FontName: string): boolean;
begin
Result := Screen.Fonts.IndexOf(FontName) >= 0;
end;


اگر فونتها نصب نبودند، می تونید فایلهای فونت مورد نظر رو در پوشه Fonts کپی کنید. .
{برای کپی فایلها می تونید از تابع CopyFile استفاده کنید
برای بدست آوردن مسیر پوشه Fonts می تونید از تابع SHGetSpecialFolderLocation استفاده کنید}
-----------------------
اگر قصد دارید که فونت مورد نظر بصورت موقت نصب بشه (حداکثر تا زمان Restart ویندوز) می تونید از تابع AddFontResource و SendMessage بصورت زیر استفاده کنید:


AddFontResource(PChar('Font Name'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);

بعد از اتمام کار هم باید RemoveFontResource رو به همون شکلی که در بالا برای AddFontResource مثال زدم فراخوانی کنید.
--------------------------
توضیحات تمامی توابع API فوق در Windows SDK (که به همراه راهنمای دلفی نصب میشه) موجود است.

دنیای دلفی
سه شنبه 13 اردیبهشت 1384, 18:40 عصر
بسیار ممنون هستم مشکلم حل شد.
:موفق:

Dolphin
جمعه 16 اردیبهشت 1384, 11:58 صبح
عالیه :confy2: :embr:

ماریا وکیلی
دوشنبه 16 آبان 1384, 21:21 عصر
ای کاش دوست ما یه مثال می ساخت

vcldeveloper
سه شنبه 17 آبان 1384, 02:03 صبح
ای کاش دوست ما یه مثال می ساخت
کدها که همش در پست بالا نوشته شده، شما فقط باید اونها را Copy/Paste کنید به داخل کد خودتون و اسم فونت را مشخص کنید.

oghab
سه شنبه 17 آبان 1384, 09:30 صبح
ممنون
کد خوبی بود!
موفق باشید