View Full Version : سوال: چطور میشه کارکترهای غیر استاندارد رو نمایش داد؟
mbshareat
پنج شنبه 19 خرداد 1390, 18:56 عصر
سلام..خدا قوّت!:قلب:
من می خوام توی دلفی6 کارکتر Z که بالاش علامت توان وارونه هستش داخل لیست باکس نمایش بدم.:خجالت:
توی قسمت Insert Format از Word کد این حرف 142 و نیز 158 هست(اولی شکل بزرگ و دومی شکل کوچک این حرف)
شاید اطلاق کارکتر به این حرف درست نباشه.در هر صورت من با قلم تاهوما لیست باکس رو نماش میدم و ()WideChar هم نتونست کمکی به من بکنه.:بامزه:
اگه کسی راهی سراغ داره لطفا راهنماییم کنه.:متفکر:
سعید صابری
پنج شنبه 19 خرداد 1390, 22:22 عصر
این کاراکترها در فونت های معمولی نیستند در فونت های که معمولا انتهای نامشان به کلمه Math منتهی میشه هستند.
mbshareat
پنج شنبه 19 خرداد 1390, 23:47 عصر
با سلام
ولی توی Word وقتی قلم تاهوما رو هم در پنجره فوق الذکر انتخاب می کنیم باز این کارکتر نمایش داده میشه؟!
سعید صابری
پنج شنبه 19 خرداد 1390, 23:58 عصر
با سلام
ولی توی Word وقتی قلم تاهوما رو هم در پنجره فوق الذکر انتخاب می کنیم باز این کارکتر نمایش داده میشه؟!
توی Word حتی اگه فونت دیگه ای هم انتخاب کنی باز نمایش داده میشه ولی در Office 2010 امتحان کردم کاراکترهای به این شکل در فونتهای که به Math منتهی میشه اسمشون بودند. این در Office 2010 بود به صورت پیش فرض نصب میشدند در بقیه ورژن ها نمیدونم
vcldeveloper
جمعه 20 خرداد 1390, 00:00 صبح
من می خوام توی دلفی6 کارکتر Z که بالاش علامت توان وارونه هستش داخل لیست باکس نمایش بدم.
نمی تونید، مگه اینکه بخواید کل فرآیند رسم متن رو خودتون بر عهده بگیرید.
در هر صورت من با قلم تاهوما لیست باکس رو نماش میدم و ()WideChar هم نتونست کمکی به من بکنه.
روشنه کهWideChar نمیتونه کمکی بکنه، ListBox موجود در دلفی 6 فقط کارکتر ANSI قبول میکنه.
اگه کسی راهی سراغ داره لطفا راهنماییم کنه
مجموعه کامپوننت TNT را نصب می کنید؛ از کنترل TntListBox آن استفاده می کنید، و اون وقت کارکتر یونیکد مورد نظر را در لیست باکس درج می کنید.
mbshareat
جمعه 20 خرداد 1390, 10:22 صبح
با سلام و درود
من فرایند ترسیم کارکترها رو خودم برعهده گرفتم و کارکترهایی که در لیست باکس ترسیم می کنم همان نیست که در Items لیست شده بلکه تغییر یافته آن است.(آنچه در Items ریخته شده بر اساس قلم داس است و طبیعتاً باید فکری برای اعراب و حروف فارسی می کردم!)
من از TextOut برای ترسیم محتوای لیست باکس استفاده می کنم.آیا هیچ راهی به جز ترسیم شکل این کارکتر نیست؟:گیج:
یوسف زالی
شنبه 21 خرداد 1390, 01:35 صبح
دوست من این رو امتحان کن:
var
S: PWideChar;
begin
S := #$017D;
windows.TextOutW(form1.Canvas.Handle, 200, 100, S, length(S));
end;
اگر از این دستور استفاده کنید با استفاده از API ویندوز مستقیم روی شی مورد نظر می توانید کاراکترهای UniCode بنویسید بدون دغدغه ساپورت.
کد بالا فقط یه تسته با فونت فرم Tahoma برای نشان دادن این مساله. روی دلفی 7 تست کرده ام و جواب داده.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.