클립보드를 사용 하기 위해서는 uses절에 Clipbrd를 추가하여야 한다.

메 소 드 명 동           작 
CutToClipboard  선택한 영역을 잘라 클립보드로 보낸다 
CopyToClipboard  선택한 영역을 복사하여 클립보드로 보낸다 
PasteFromClipboard 클립보드의 내용을 현재 커서 위치로 삽입한다 
ClearSelection  선택한 영역을 삭제한다 

<<예 제 소 스>>

메인 메뉴의 Cut, Copy, Paste, Delete에 대한 이벤트

procedure TForm1.Cut1Click(Sender: TObject);

begin

  Memo1.CutToClipboard;  // 잘라내기

end;

 

procedure TForm1.Copy1Click(Sender: TObject);

begin

  Memo1.CopyToClipboard;  //복사하기

end;

 

procedure TForm1.Paste1Click(Sender: TObject);

begin

  Memo1.PasteFromClipboard;  //붙여넣기

end;

 

procedure TForm1.Delete1Click(Sender: TObject);

begin

  Memo1.ClearSelection;  //삭제하기

end;


procedure TForm1.Edit1Click(Sender: TObject);

begin

  Paste1.Enabled:=Clipboard.HasFormat(CF_TEXT);

  if Memo1.SelLength=0 then

    begin

    Cut1.Enabled:=False;

    Copy1.Enabled:=False;

    Delete1.Enabled:=False;

    end

  else

    begin

    Cut1.Enabled:=True;

    Copy1.Enabled:=True;

    Delete1.Enabled:=True;

  end

end;

Clipboard 오브젝트의 HasFormat 메소드는 클립보드에 특정 형식의 데이터가 있는지 조사해 주며 인수로 조사할 데이터 형식을 전달해 준다

 인            수  의             미
CF_TEXT 텍스트 
CF_BITMAP  비트맵 
CF_METAFILE  메타파일 
CF_PICTURE TPicture형의 오브젝트 
CF_OBJECT 기타 오브젝트

데이터가 있으면 True, 없으면 False로 반환


Memo1.SelLength=0 => 클립 보드에 선택된 영역이 없을 경우에는 사용 X

 속     성 의     미 
SelStart  선택 영역의 처음 위치 
SelLength  선택 영역의 길이 
SelText  선택 영역의 문장 


+ Recent posts