一个带滚动条的滚动窗口(类似聊天室窗口),每行显示一条滚动的信息,怎么将所有的信息复制下来,谢谢!

解决方案 »

  1.   

    {--- 得到本文框内容 ---}
    function GetText(hwd: HWND):String;
    var
      Ret: LongInt;
      Text: PChar;
      Buf: integer;
    begin
      result := '';
      GetMem(Text,1024*100);
      if (hwd <> 0) then
      begin
        try
          Ret := SendMessage(hwd, WM_GETTEXTLENGTH, 0, 0)+1;
          if Ret > 1 then
          begin
            Buf := LongInt(Text);
            SendMessage(hwd, WM_GETTEXT, Min(Ret, 1024*100), Buf);
            result := String(Text);
          end;
        finally
          FreeMem(Text);
        end;
      end else
        exit;
    end;