使用memo组件,有两个问题:1.不知道怎么设置他的背景图片。到底能不能设置呢?
2.我想在memo组件里面的文字里,每行都加 下横线,横线也是个图片,可以定制,不是简单的一条横线。不知如何实现?如果这两条不好实现,现在的有没有这样改进的memo组件?如果没有,我要是自己写的话,大家给点思路?初学,谢谢!!!!

解决方案 »

  1.   

    我查看了memo组件的属性,好像没有Transparent属性,其实如果它有这个属性,可以设置成透明的话,我就可以在它下面贴图,画图,效果也会非常好!!!!好像在RichText控件里也没有这个属性。需要如何改动memo组件才能使它有这个属性呢?????望高手帮助!!!!
    谢谢!!!!!!!!!
      

  2.   

    刚看了看,memo,RichText都是从TCustomMemo派生出来的,你会做了吧?
      

  3.   

    我对自定义组件不熟,现在没有特别清晰的思路。也不是一定要用memo,只要能实现文本编辑的功能就好了,如果可以插入图像什么的,更好!!!!:)
      

  4.   

    有改进的MEmo的,我下载到过,而且能用,在哪儿下载的我忘记了,你可以到下面的网站看看1。www.playicq.com
    2.www.51delphi.com
    如果你仔细找,能找到的,祝你好运
      

  5.   

    是不是周末人少?
    再踢一下。
    昨天看超级猛料2003,有下面所述:
    ------
    将一个FORM变成透明的实质性手段就是拦截CMEraseBkgnd消息。unit Utransform; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm)private { Private declarations }public { Public declarations }PROCEDURE CMEraseBkgnd(var Message:TWMEraseBkgnd);Message WM_ERASEBKGND;end;var Form1: TForm1;implementation{$R *.DFM}PROCEDURE Tform1.CMEraseBkgnd(var Message:TWMEraseBkgnd);BEGINbrush.style:=bsClear;Inherited;END;end.//////////////////////////////////////procedure TForm1.FormCreate(Sender: TObject);beginForm1.Brush.Style := bsClear;Form1.BorderStyle := bsNoneend;procedure TForm1.BitBtn1Click(Sender: TObject);beginApplication.Terminate;end;/////////////////////////////////////////////用透明的控件呗. 一般继承自TGraphicControl的(就是那些没有handle属性, 不能有focus的控件, 如image)都有Transparent属性. 对TWinControl类的控件, 要实现透明只要完成以下三步基本上就成了.1. override 它的CreateParams方法, exstyle 里加上WS_EX_TRANSPARENT.2. 修改它的parent的window style, 去掉WS_CLIPCHILDREN.3. 截获WM_ERASEBKGND, 什么都不做直接返回1.一般有上面3步能成. 有些控件比如TPanel, 在它的paint中用了fillrect, 所以要实现透明的话还要override 它的paint方法, 自己画.按钮透明需要进一步处理.createparams里加上style := style or BS_OWNERDRAW;然后在WM_DRAWITEM中自己画吧
    ----------------------
      

  6.   

    楼主啊!
      我正在用的一套三方控,
    其中有一个叫TLMDmemo的控件
    可以做到你的效果,
    你只需配置好它的个县属性就是了!
    ---------------------------------
    怎样?有兴趣联系吧!
      

  7.   

    在其他帖子找到的,效果非常好!!!!!!!!!!!!!!
    强烈推荐!!!!!!!!!!!!!!!!!!!unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls, jpeg;type
      TForm1 = class(TForm)
        Image1: TImage;
        RichEdit1: TRichEdit;
        procedure ClassWndProc(var Msg: TMessage);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
    Form1: TForm1;
    wproc: pointer;
    oldproc:TWndMethod;
    bb:hBrush ;
    implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
    oldproc:=RichEdit1.WindowProc;
    RichEdit1.WindowProc:=form1.ClassWndProc;
    SetWindowLong(RichEdit1.Handle, GWL_EXSTYLE, GetWindowLong(RichEdit1.Handle,GWL_EXSTYLE) or WS_EX_TRANSPARENT);
    end;
    procedure Tform1.ClassWndProc(var Msg: TMessage);begin
          if msg.Msg= WM_ERASEBKGND  then        msg. result:=1
             else   if (msg.Msg =  CN_CTLCOLORMSGBOX )or(msg.Msg = CN_CTLCOLORSTATIC ) then
           begin
                    bb:=null;
                 msg. result :=bb
                 end
              else
          oldproc(msg)
    end;end.
      

  8.   

    你可以用RichEdit,为什么一定要用Memo;我觉的用RichEdit好一些,因为它可以装RTF;
      

  9.   

    我现在用的就是RichEdit呀,不过还没有实现图文混排.顺便问一下,如何实现图文混排呀?