![]() |
|
سؤال: كيف يتم حساب الطول والعرض لنص سيتم رسمه ؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : سؤال: كيف يتم حساب الطول والعرض لنص سيتم رسمه ؟ (/showthread.php?tid=6877) |
سؤال: كيف يتم حساب الطول والعرض لنص سيتم رسمه ؟ - مهند الرسيني - 16-03-2015 السلام عليكم ورحمة الله ويركاتة كيف أقوم بحساب الطول والعرض خاصة بنص متغير , عندما اعلم عدد الاحرف الموجودةفي النص وكذلك حجم الخط(حجم النص) ؟ ما استنتجته هو اني استطيع بحساب العرض من خلال عمليات اجرية على المعطيين السابقين وهما عدد الاحرف وكذلك حجم الخط اما الطول فهو واضح وهو حجم الخط , إن لم أكن مخطئ . الهدف هو أني اعمل على كلاس يقوم برسم صندوق على شكل رسالة و عندما اكتب نص ان يتم إعادة ضبط حجم الصندوق على حسب النص المكتوب ليتناسب حجم الصندوق مع النص . بمعنى آخر أريـد أن اعمل AutoSize لصندوق الرسالة ![]() هذه شكل الرسالة للتوضيح : فكما تلاحظون الصندوق كبير بينما النص الموجود لا يحتاج هذا الحجم للصندوق , وكما قلت النص متغير فهل من معادلة او دالة تحسب العرض والطول الخاص بالنص عندما يكون عدد حروف النص وحجمه معلوم أم ﻻ ؟ سؤال: كيف يتم حساب الطول والعرض لنص سيتم رسمه ؟ - مهند الرسيني - 16-03-2015 السلام علييكم ورحمة الله وبركاتة يبدو اني وجدت نصف الحل وهو من خلال إستعمال دالة DrawText مع تمرير متغير من نوع TRect وهو بدورة يقوم بحساب الطول والعرض لكن يبو اني لا اعرف الطريقة السليمة لإستعمال DrawText . هذه هي بيانات الدالة : PHP كود : TWidgetSet.DrawTextأنا أعمل على لازارس وأعتقد ان الدالة موجودة في إصدارات دلفي بنفس البارمتراس ... ما ينقصني هو البارمتر DC هو عبارة عن THandle لكن لا اعرف ماذا يجب ان يحتوي أي هاندل يريد لم يتم ذكر ذالك . سؤال: كيف يتم حساب الطول والعرض لنص سيتم رسمه ؟ - مهند الرسيني - 17-03-2015 السلام عليكم ورحمة الله وبركاتة يبدو ان الحل كأن ابسط مما توقعت وهو من خلال إستعمال دالة TextExtent والتي تعطيك الطول والعرض بمجرد تمرير النص الذي تريده :eek: ![]() PHP كود : TSize := TBitmap.Canvas.TextExtent('النص المراد حساب طوله وعرضه'); على من يأتي بعدي يستفيد |