Memo yada Richedit zeminine resim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Memo yada Richedit zeminine resim

Mesaj gönderen serbek_tr »

S.A.

Richedit nesnesinin zeminine backgroun olarak resim eklenebilirmi. Yardımcı olursanız sevinirim.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Memo yada Richedit zeminine resim

Mesaj gönderen Lost Soul »

aşağıdaki kodun çalışıp çalışmadığını bilmiyorum.
formunuza bir richedit, bir image bir de button koyup button click olayına aşağıdaki kodu yazın

kodda richedit nesnesi richedit1, image nesnesi de image1 olarak geçmiş.

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  imagecanvas: TCanvas;
  fmt: TFormatRange;
begin
  imagecanvas := image1.canvas;
  with fmt do begin
    hdc:= imagecanvas.handle;
    hdcTarget:= hdc;
    // rect needs to be specified in twips (1/1440 inch) as unit
    rc:=  Rect( 0, 0,
                imagecanvas.cliprect.right * 1440 div pixelsperinch,
                imagecanvas.cliprect.bottom * 1440 div pixelsperinch
                );
    rcPage:= rc;
    chrg.cpMin := 0;
    chrg.cpMax := richedit1.GetTextLen;
  end;
  SetBkMode( imagecanvas.Handle, TRANSPARENT );
  richedit1.perform( EM_FORMATRANGE, 1, integer( @fmt ));
  // next call frees some cached data
  richedit1.perform( EM_FORMATRANGE, 0, 0 );
  image1.refresh;
  // refresh is necessary since the control only refreshes automatically  
  // if a canvas method is used to change its content.
 
end;

denedikten spnra çalışıp çalışmadığını haber verirseniz sevinirim.
khanco
Üye
Mesajlar: 226
Kayıt: 01 Eki 2007 04:39
Konum: İzmir
İletişim:

Re: Memo yada Richedit zeminine resim

Mesaj gönderen khanco »

tformatrange nedir?
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Memo yada Richedit zeminine resim

Mesaj gönderen serbek_tr »

İlgin için teşekkür ederim ancak TFormatrange için uses a neyi eklemem gerektiğini bulmadım ve ayrıca hdc,hdcTarget gibi ve dahada değişkenlerin tipi de belli değil aslında tiplerin ne olduğu anlaşılıyor ama TFormatrange ne olduğunu çözemedim. Özetle çalışmadı. Ancak ilgine teşekkür ederim.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Memo yada Richedit zeminine resim

Mesaj gönderen serbek_tr »

Ayrıca şu çözemediğim tformatrange kelimesi üzerine bir arama yapınca benze konular ve kodlarla karşılaştım. ama hepsi tam tersi işlem görev görüyor. Yani richedit teki yazıyı bitmap üzerine yazdırıyor. Senin verdiğin kodda aynı işi yapıyor. **** ve tformatrange için uses kısmına RichEdit eklemek gerekiyormuş. forma richedit1 nesnesi eklemen yetmiyor yani.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Cevapla