richedit iki yana yaslandı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
richedit iki yana yaslandı
arkadaşlar rich edit i iki yana yasladım fakat yazıcıdan çıktı alırken yine normal satır lar çıkıyor bunu engellemenin bi yolu varmı
teşekkür ederimm
teşekkür ederimm
@youutek
- asıl kod isimli mesajınızın başlığını daha anlamlı bir başlık ile değiştiriniz. Örneğin "Richedit ile iki yana yaslama nasıl yapılır ?"
- Ayrıca sorunuza aynı başlık altında devam ediniz. Mesaj kirliliği oluyor. Çözümü paylaşmak isteyenler için zorluk oluşuyor.
@mepc çalışan kod aşağıda... Bunu bir kere çalıştırdıktan sora ilgili TRichEdit içine yazı yazıldıkça yeni eklenenler de sağa sola yanaşık yazılmaya devam ediliyor.
- asıl kod isimli mesajınızın başlığını daha anlamlı bir başlık ile değiştiriniz. Örneğin "Richedit ile iki yana yaslama nasıl yapılır ?"
- Ayrıca sorunuza aynı başlık altında devam ediniz. Mesaj kirliliği oluyor. Çözümü paylaşmak isteyenler için zorluk oluşuyor.
@mepc çalışan kod aşağıda... Bunu bir kere çalıştırdıktan sora ilgili TRichEdit içine yazı yazıldıkça yeni eklenenler de sağa sola yanaşık yazılmaya devam ediliyor.
Kod: Tümünü seç
// Uses Richedit
Procedure IkiYanaYasla(Nesne: TRichEdit);
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 Nesne.SelLength = 0 then
begin
cp.cpMin := 0;
cp.cpMax := length(Nesne.Text);
SendMessage(Nesne.Handle, EM_EXSETSEL, mZERO, LPARAM(@cp));
end;
L := SendMessageA(Nesne.Handle, EM_SETTYPOGRAPHYOPTIONS, TO_ADVANCEDTYPOGRAPHY, TO_ADVANCEDTYPOGRAPHY);
if L = 1 then
begin
SendMessageA(Nesne.Handle, EM_GETTYPOGRAPHYOPTIONS, mZERO, mZERO);
SendMessage(Nesne.Handle, EM_GETPARAFORMAT, mZERO, LPARAM(@x));
x.dwMask := PFM_ALIGNMENT;
x.wAlignment := PFA_JUSTIFY;
SendMessage(Nesne.Handle, EM_SETPARAFORMAT, mZERO, lparam(@x));
end;
cp.cpMin := 0;
cp.cpMax := 0;
SendMessage(Nesne.Handle, EM_EXSETSEL, mZERO, lparam(@cp));
Nesne.WordWrap := true;
end;
Merhaba,
Bu kadar hazırcılık çok olacak biliyorum. Muharrem ustam baya bir lazım olan işi hazırlayıp pişirip sunmuş. Fakat ben çalıştıramadım. Bu kod ile richedit içine yazılan yazı msword gibi sağa solamı yaslanıyor yoksa başka bir işlem mi yapıyor. Büyük ihtimalle yukarıda verilen kodu kullanamadım lazım olduğu için forumda arayıpta bulduğum hazineyi kullanamamak çok kötü.
unitim bu şekil deneme amaçlı. kullanım hatası var sanırım ama kullanım şeklini öğretirseniz çok memnun olacağım zira şu sıra baya bi lazım bu word gibi iki yana yaslama işi. düz yazı yazdığımız raporda lazım. aksi takdirde çok çikin görünüyor yazı.
kolay gelsin
Bu kadar hazırcılık çok olacak biliyorum. Muharrem ustam baya bir lazım olan işi hazırlayıp pişirip sunmuş. Fakat ben çalıştıramadım. Bu kod ile richedit içine yazılan yazı msword gibi sağa solamı yaslanıyor yoksa başka bir işlem mi yapıyor. Büyük ihtimalle yukarıda verilen kodu kullanamadım lazım olduğu için forumda arayıpta bulduğum hazineyi kullanamamak çok kötü.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, richedit;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Procedure IkiYanaYasla(Nesne: TRichEdit);
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 Nesne.SelLength = 0 then
begin
cp.cpMin := 0;
cp.cpMax := length(Nesne.Text);
SendMessage(Nesne.Handle, EM_EXSETSEL, mZERO, LPARAM(@cp));
end;
L := SendMessageA(Nesne.Handle, EM_SETTYPOGRAPHYOPTIONS, TO_ADVANCEDTYPOGRAPHY, TO_ADVANCEDTYPOGRAPHY);
if L = 1 then
begin
SendMessageA(Nesne.Handle, EM_GETTYPOGRAPHYOPTIONS, mZERO, mZERO);
SendMessage(Nesne.Handle, EM_GETPARAFORMAT, mZERO, LPARAM(@x));
x.dwMask := PFM_ALIGNMENT;
x.wAlignment := PFA_JUSTIFY;
SendMessage(Nesne.Handle, EM_SETPARAFORMAT, mZERO, lparam(@x));
end;
cp.cpMin := 0;
cp.cpMax := 0;
SendMessage(Nesne.Handle, EM_EXSETSEL, mZERO, lparam(@cp));
Nesne.WordWrap := true;
end;
end.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

-
- Üye
- Mesajlar: 10
- Kayıt: 10 Nis 2006 10:16
- Konum: İZMİR
Quickreport.Qrrichtex
İya çalışmalar arkadaşlar
Yukarıdaki kodlarla richedit içeriğini iki yana yasladık, ancak quickreport tan çıktı alırken iki yana yaslı olarak çıktı alamıyorum. Yukarıdaki kodların devamınde ne gibi bi işlem yapmamız lazım ki çıktıyıda düzgün alabilelim.
Yukarıdaki kodlarla richedit içeriğini iki yana yasladık, ancak quickreport tan çıktı alırken iki yana yaslı olarak çıktı alamıyorum. Yukarıdaki kodların devamınde ne gibi bi işlem yapmamız lazım ki çıktıyıda düzgün alabilelim.
Delphi Öğrenmenin yolu nedir.?
bu konuda komponet var. http://www.bastem.com.tr/Justifyrichedit.rar
ayrıca quickreportta ise parrentRichEdit ise form1.editor1 yazarsanız iki yana yaslanmış olarak yazar.
selamlar
ayrıca quickreportta ise parrentRichEdit ise form1.editor1 yazarsanız iki yana yaslanmış olarak yazar.
selamlar