richeditin satır sayısı kadar boyunu ayarlıyorum ancak;

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

richeditin satır sayısı kadar boyunu ayarlıyorum ancak;

Mesaj gönderen emrekush »

var
P1, P2: TPoint;
begin
richedit.Perform(EM_POSFROMCHAR, Longint(@P1), 0);
richedit.Perform(EM_POSFROMCHAR, Longint(@P2), MaxInt);
irichedit.height:=p2.y-p1.y;
end;

Bu kod ile richedit içindeki satır kadar boyunu ayarlıyorum. Bunu richedit icindeki metnin bütün olarak yüksekliğini bulmak icin yapmaya çalışıyorum. Printer.pageheight ile mukayese etmek icin yani. ancak elde ettiğim degeri printer.pageheight ile mukayese etmek icin birbirine nasıl cevireceğimi bulamadım.

printer.page height 6600 degerini veriyor. richedit'in yuksekliği ise 1030 diyelim. 6600 degeri 28 cm ye eşit geliyor. richeditin yuksekliği olan 1030'un cm karsiligini bulamiyorum.

yardimci olursaniz cok sevinirim. selamlar.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Mesaj gönderen Lost Soul »

Anladığım kadarıyla RichEditin boyutu yazı kadar olsun diyorsun.
PAgeWidth yerine

Canvas.TextWidth('XXXXX') ve Canvas.TextHeight('XXXXX') fonsiyonları ile en geniş satırın boyunu almayı dene.

Satır genişliğini ayarlamak için ('XXXXXX') yerine fillchar fonksiyonunu kullanarak LENGTH('METİN') adedi kadar 'X' karakteri doldurup sonra o karakterin katarının uzunluğunu alabilirsin.
emrekush
Üye
Mesajlar: 31
Kayıt: 01 Mar 2004 02:48

sayfa genisligini ve boyunu ayarlayabiliyorum yapmak istedig

Mesaj gönderen emrekush »

yapmak istedigim, richedit icindeki metnin printerin canvas boyunu aşıp aşmadığı yani baskı yapılırken, metnin 1 sayfamı 2 sayfa mı olduğunu, hangi satırda page break konulacağının kullanıcı tarafından bilinmesi için.

o yüzden richeditteki metnin dediginiz gibi canvas.textheight ile belirlenmesi dogru sonuc vermiyor. richedit tam olarak wysiwyg olarak baskı yapamıyor. tek sayfa olacağını düşündüğünüz metin 2. sayfaya taşabiliyor. bu nedenle; richedit icindeki metnin printerdeki tam karşılığını textheight ile degil, richedit boyutu ile bulmaya çalışıyorum. richeditin boyunu buluyorum ancak printer canvasında kac cmlik yuksekligi oldugunu bulamiyorum metnin.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Mesaj gönderen Lost Soul »

Raporlama bileşenleri yerine neden richedit istiyorsun ki.
At richeditin içeriğini Rave yada Fastreporta yazdırma işini o halletsin :D
Cevapla