Q&A

  • 특정문자를 클립보드에 copy하는방법이 무언지요
Edit1의 문자를 카피하는방법은 Edit1.Copytoclipboard잖아요



그러면



"abcd"를 클립보드에 어떻게 넣는지 좀 알려주세요



1  COMMENTS
  • Profile
    최석기 2000.09.25 23:12
    안녕하세요.

    델파이세상(http://www.freechal.com/delphiworld)에 최석기입니다.



    클립보드로 복사하는 방법이 두가지 정도 있을꺼 같네요.



    하나는 EditBox를 않보이게 감추어두고 CopytoClipBoard 케쏘드를 사용하시는 방법.



    다른 하나는 직접 API 함수를 사용하시는 방법이 있겠네요.



    // 파라미터 Wdata의 문자열을 클립보드로 복사하는 프로시저

    procedure SetClipData(Wdata: String);

    var

    P: PChar;

    hMem: THandle;

    begin

    {클립보드를 열어 응용 프로그램이 내용을 읽거나 세트할 수 있게 한다}

    OpenClipboard(handle);

    {클립보드를 비우고 그것에 관계하는 데이타를 자유롭게 한다}

    EmptyClipboard();

    {전역 힙(heap)에 메모리 블록을 할당한다}

    hMem := GlobalAlloc(GMEM_MOVEABLE, 255);

    {전역 힙의 할당된 메모리 블록을 고정(lock)시킨다}

    P := GlobalLock(hMem);

    {힙에 문자열을 복사}

    StrPCopy(P, Wdata);

    {전역 메모리 핸들을 클립보드에 전달, 메모리 블록은 클립보드 데이타가 된다}

    SetClipboardData(CF_TEXT, hMem);

    {전역 힙에서 메모리 블록의 잠금 해제}

    GlobalUnlock(hMem);

    {클립보드를 닫는다}

    CloseClipboard();

    end;



    한창도 wrote:

    > Edit1의 문자를 카피하는방법은 Edit1.Copytoclipboard잖아요

    >

    > 그러면

    >

    > "abcd"를 클립보드에 어떻게 넣는지 좀 알려주세요

    >