richediti iki yana yaslama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrekush
Üye
Mesajlar: 31
Kayıt: 01 Mar 2004 02:48

richediti iki yana yaslama

Mesaj gönderen emrekush »

delphi expertlerinden yardım talep ediyorum. Uzun zamandır richedit icindeki metni iki yana yaslamak istiyordum bir turlu yapamamistim bu isi. Asagidaki kodu internette buldum richedit icindeki metni ikiyana yaslamayı başardım.


Aşağıdaki kod richedit.selectall; ile birlikte çalışıyor. Ben richedit içindeki bazı paragrafların ikiyana hizalanmasını bazılarının ise centerjustify yapılmasını istiyorum. Bu son kısmı uygulayamadım.

Bu konuda yardımcı olabilecek arkadaşım varsa şimdiden teşekkür ederim. Eğer bu komponent haline getirilebilirse bir çok arkadaşın sorunu kökten çözülmüş olacak..

richedit icindeki ilk paragrafı sola, sonraki paragrafı iki yana yaslayacak, sonraki paragrafın ortaya ve son paragrafın sağa yaslayabilecek kücük bir örnek program gönderecek zamanı olan arkadaslara da ayrica mütesekkir olurum.

selamlar.


procedure TJustText.Justify;
const
WM_USER = $400;
EM_EXSETSEL = (WM_USER + 55);
EM_SETTYPOGRAPHYOPTIONS = (WM_USER + 202);
EM_GETTYPOGRAPHYOPTIONS = (WM_USER + 203);
TO_ADVANCEDTYPOGRAPHY = $1;
mZERO = $0;
var x :tparaformat;
L :LongInt;
cp :charrange;
begin
x.cbSize := sizeof(x);
if SelLength = 0 then
begin
cp.cpMin := 0;
cp.cpMax := length(Text);
SendMessage(Handle,EM_EXSETSEL,mZERO,LPARAM(@cp));
end;
L := SendMessageA(Handle,EM_SETTYPOGRAPHYOPTIONS, TO_ADVANCEDTYPOGRAPHY, TO_ADVANCEDTYPOGRAPHY);
if L = 1 then
begin
SendMessageA(Handle, EM_GETTYPOGRAPHYOPTIONS, mZERO, mZERO);
SendMessage(Handle, EM_GETPARAFORMAT, mZERO, LPARAM(@x));
x.dwMask := PFM_ALIGNMENT;
x.wAlignment := PFA_JUSTIFY;
SendMessage(Handle, EM_SETPARAFORMAT, mZERO, lparam(@x));
end;
cp.cpMin := 0;
cp.cpMax := 0;
SendMessage(Handle,EM_EXSETSEL,mZERO,lparam(@cp));
WordWrap := true;
end;
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

arkadasim öncelikle kolay gelsin...

delphi ile birlikte Richedit in bir projesi geliyor... bu projeyi inceleyecek olur isen eger saga sola nasil yaslanir hatta daha da fazlasini ögrenebilirsin... DEMOS klasörünün icinde...
Cevapla