我要在RICHEDIT控件中放一个背景图,对RICHEDIT控件上下滑动条拖动时,该图不会移动,即该图相对窗体来说位置是不变的?

解决方案 »

  1.   

    可以考虑嵌入HTML窗口
    或者使用windowsless richedit
      

  2.   

    教你一个办法:
    在richedit1下放一个image,通过以下代码让richedit变得透明:
    type
      TForm1 = class(TForm)
        Image1: TImage;
        BitBtn1: TBitBtn;
        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;
    把分全结我吧!