الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة ضبط النص Justify

بدأه backar-net في 15 نوفمبر 2008 · 6 رد · 1,290 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ما هي طريقة ضبط النص في memo أو RichEdit بالنمط Justify (ضبط)

والذي يجعل النص كأنه مجموع بمسطرتين من اليمين واليسار فلا نرى سطرا أطول من آخر أو أقصر منه.

لم أجد في خاصية Alginment و Center وLeft و Right.

#2

يمكنك إستخدام إستخدام الخاصية CaretPos لتحديد موقع المؤشر عموديا وأفقيا CaretPos.X CaretPos.Y

ومن ثم تعيد ضبط المؤشر للمكان الذي تريد أذكر أنني فعلتها ولكن لم أعد أذكر كيف أعدت ضبط المؤشر ممكن كان بإستخدام

SendMessage سأحاول لعلي أجد ذلك

#3

السلام عليكم

أخي الكريم تابع المثال المرفق من دلفي في المسار C:\Program Files\Borland\Delphi7\Demos\RichEdit

و ستجد فيه مطلبك بعون الله أرجو أن يكون كذلك و إن لم يكن كذلك سيكون هناك حل أخر بعون الله

شاهد الصورة المرفقة و لاحظ الدوائر الحمراء

post-143282-1226799317_thumb.jpg

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#5

memo و RichEdit لا تدعمان خاصية الضبط.

#6

نفس المثال المرفق في دلفي

post-143282-1226883570_thumb.jpg

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#7

السلام عليكم...

المثال المرفق في دلفي لا يحتوي على طريقة لضبط النص من الجانبين، كما يطلب الأخ.

يمكن ذلك بإرسال رسالة (SendMessage) إلى الـ RichEdit كالتالي:

1. أضف الوحدة RichEdit إلى جملة uses في قسم الـ interface

2. استعمل الكود التالي

  1. procedure TFRtlForm1.Button1Click(Sender: TObject);
  2. var
  3. PF2: PARAFORMAT2;
  4. begin
  5. PF2.cbSize := SizeOf(PARAFORMAT2);
  6. PF2.dwMask := PFM_ALIGNMENT;
  7. PF2.wAlignment := PFA_JUSTIFY;
  8.  
  9. SendMessage(RichEdit1.Handle, EM_SETPARAFORMAT, 0, Integer(@PF2));
  10. end;
  11.  

الكود السابق يعمل على ضبط الفقرة المحتوية على مؤشر الكتابة أو الفقرات المحددة معاً.

تبقى مشكلة وحيدة: الأسطر الناقصة (التي لا يمكن توسيعها إلى الجانبين) تتم محاذاتها إلى اليسار، و هذا قد لا يتناسب مع اللغة العربية (إذا وجدت حلاً فالرجاء إخبارنا به).

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

مواضيع مشابهة