دلفــي
دوشنبه 22 تیر 1394, 07:15 صبح
من مي خوام متن فارسي موجود در كنترل RichEdit رو به صورت Full همتراز ( Justify ) كنم ، توسط كد زير مي تونم اين كار رو براي كل متن انجام بدم ولي سطر آخر پاراگراف به سمت چپ انتقال پيدا مي كنه !
Uses RichEdit;
procedure JustifyText(RichEdit:TRichEdit);
var Format : TParaFormat2;
begin
FillChar(Format, SizeOf(TParaFormat2), 0);
Format.cbSize := SizeOf(TParaFormat2);
Format.dwMask := PFM_ALIGNMENT;
Format.wAlignment := PFA_JUSTIFY;
SendMessage(RichEdit.Handle, EM_SETPARAFORMAT, 0, LPARAM(@Format));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
JustifyText(RichEdit1);
end;
نتيجه :
133203
از چند كامپوننت كه در توضيحاتشون نوشته بودن از اين خصيصه پشتيباني مي كنند مثل TRichView , Jedi , TJustifyRichEdit , TRichMemo , ... هم استفاده كردم ولي همه ي اين كامپوننت ها هم همان مشكل رو داشتند .
آيا راه حل يا كامپوننت خاصي براي اين كار هست ؟
Uses RichEdit;
procedure JustifyText(RichEdit:TRichEdit);
var Format : TParaFormat2;
begin
FillChar(Format, SizeOf(TParaFormat2), 0);
Format.cbSize := SizeOf(TParaFormat2);
Format.dwMask := PFM_ALIGNMENT;
Format.wAlignment := PFA_JUSTIFY;
SendMessage(RichEdit.Handle, EM_SETPARAFORMAT, 0, LPARAM(@Format));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
JustifyText(RichEdit1);
end;
نتيجه :
133203
از چند كامپوننت كه در توضيحاتشون نوشته بودن از اين خصيصه پشتيباني مي كنند مثل TRichView , Jedi , TJustifyRichEdit , TRichMemo , ... هم استفاده كردم ولي همه ي اين كامپوننت ها هم همان مشكل رو داشتند .
آيا راه حل يا كامپوننت خاصي براي اين كار هست ؟