我想将lbl_name.caption的值拷贝到内存中,以便在word中将其粘贴出来,请问如保表达

解决方案 »

  1.   

    我贴一个关于剪贴板的例子
      //delphi6测试通过
    type
      TMyddd=record
         a1:string;
         a2:integer;
      end;
    ................
    var 
      Myddd  :  Tmyddd;
      pMyddd : ^Tmyddd;
    procedure .............................
    var
      mHnd : Thandle;
    begin
      //记录赋值
      Myddd.a1 := 'AAA';
      Myddd.a2 := 222;
      //存数据
      OurFormat:=RegisterClipboardFormat('CF_TMyddd');
        if OpenClipboard(Handle) then
         EmptyClipboard;
      mHnd := GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE,SizeO(TMyddd));
      pMyddd := GlobalLock(mHnd);
      new(pMyddd);
      pMyddd^.a1  :=  Myddd.a1;
      pMyddd^.a2  :=  Myddd.a2;
      GlobalUnLock(mHnd);
      SetClipboardData(OurFormat,mHnd);
    end;var MemberInClip : Thandle;
    begin  //读数据
     if Clipboard.HasFormat(OurFormat) then begin
     if OpenClipboard(Handle) then
      begin
          MemberInClip:=GetClipboardData(OurFormat);
          //new(PMyddd);
          //pMyddd := GlobalLock(MemberInClip);
          Myddd.a1  := pMyddd^.a1;
          Myddd.a2  := pMyddd^.a2;
      GlobalUnLock(MemberInClip);
      CloseClipboard();
      with Memo1.Lines do begin
       Clear;
       Add('Clipboard has TMember data:');
       Add(Myddd.a1);
       Add(inttostr(Myddd.a2));
      end;
     end;
     end;  
    end;
      

  2.   

    uses ClipBrd; 
    procedure StrToClipbrd(StrValue: string);
    var
    A: array[0..255] of char;
    begin
    StrPCopy(A, Label1.Caption);
    Clipboard.SetTextBuf(A);
    end;
      

  3.   

    就是说拷贝到windows的剪贴板上,楼上说的对