backar-net
Nov 15 2008, 11:44 PM
السلام عليكم
ما هي طريقة ضبط النص في memo أو RichEdit بالنمط Justify (ضبط)
والذي يجعل النص كأنه مجموع بمسطرتين من اليمين واليسار فلا نرى سطرا أطول من آخر أو أقصر منه.
لم أجد في خاصية Alginment و Center وLeft و Right.
حسين طي
Nov 16 2008, 02:45 AM
يمكنك إستخدام إستخدام الخاصية CaretPos لتحديد موقع المؤشر عموديا وأفقيا CaretPos.X CaretPos.Y
ومن ثم تعيد ضبط المؤشر للمكان الذي تريد أذكر أنني فعلتها ولكن لم أعد أذكر كيف أعدت ضبط المؤشر ممكن كان بإستخدام
SendMessage سأحاول لعلي أجد ذلك
rober
Nov 16 2008, 04:35 AM
السلام عليكم
أخي الكريم تابع المثال المرفق من دلفي في المسار C:\Program Files\Borland\Delphi7\Demos\RichEdit
و ستجد فيه مطلبك بعون الله أرجو أن يكون كذلك و إن لم يكن كذلك سيكون هناك حل أخر بعون الله
شاهد الصورة المرفقة و لاحظ الدوائر الحمراء
backar-net
Nov 16 2008, 04:33 PM
السلام عليكم ... هاكم المثال :
إضغط لإظهار المرفق
إضغط لإظهار المرفق
أي الضبط من الطرفين وكما قلت
إقتباس
كأنه مجموع بمسطرتين من اليمين واليسار
وشكرا
خالد الشقروني
Nov 16 2008, 05:36 PM
memo و RichEdit لا تدعمان خاصية الضبط.
rober
Nov 17 2008, 03:59 AM
نفس المثال المرفق في دلفي
najy_zl
Nov 17 2008, 04:24 AM
السلام عليكم...
المثال المرفق في دلفي لا يحتوي على طريقة لضبط النص من الجانبين، كما يطلب الأخ.
يمكن ذلك بإرسال رسالة (SendMessage) إلى الـ RichEdit كالتالي:
1. أضف الوحدة RichEdit إلى جملة uses في قسم الـ interface
2. استعمل الكود التالي
انسخ الكودprocedure TFRtlForm1.Button1Click(Sender: TObject);
var
PF2: PARAFORMAT2;
begin
PF2.cbSize := SizeOf(PARAFORMAT2);
PF2.dwMask := PFM_ALIGNMENT;
PF2.wAlignment := PFA_JUSTIFY;
SendMessage(RichEdit1.Handle, EM_SETPARAFORMAT, 0, Integer(@PF2));
end;
الكود السابق يعمل على ضبط الفقرة المحتوية على مؤشر الكتابة أو الفقرات المحددة معاً.
تبقى مشكلة وحيدة: الأسطر الناقصة (التي لا يمكن توسيعها إلى الجانبين) تتم محاذاتها إلى اليسار، و هذا قد لا يتناسب مع اللغة العربية (إذا وجدت حلاً فالرجاء إخبارنا به).
نرجو الاستفادة و السلام.
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء
إضغط هنا.