IInkDisp::ClipboardCopyWithRectangle 메서드(msinkaut.h)

알려진 사각형 내에 포함된 IInkStrokeDisp 개체를 클립보드에 복사합니다.

구문

HRESULT ClipboardCopyWithRectangle(
  [in]           IInkRectangle       *Rectangle,
  [in, optional] InkClipboardFormats ClipboardFormats,
  [in, optional] InkClipboardModes   ClipboardModes,
  [out, retval]  IDataObject         **DataObject
);

매개 변수

[in] Rectangle

클립보드에 복사할 스트로크가 포함된 사각형을 지정합니다.

[in, optional] ClipboardFormats

(선택 사항) InkDisp 개체의 InkClipboardFormats 열거형 값을 지정합니다. 기본값은 ICF_Default.

[in, optional] ClipboardModes

(선택 사항) InkDisp 클래스 개체의 InkClipboardModes 열거형 값을 지정합니다. 기본값은 ICB_Default.

[out, retval] DataObject

이 메서드가 반환되면 새로 만든 데이터 개체에 대한 포인터가 포함됩니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_POINTER
매개 변수에 잘못된 포인터가 포함되어 있습니다.
E_INK_EXCEPTION
메서드 내에서 예외가 발생했습니다.

설명

사각형이 스트로크를 클립하면 복사된 데이터에서 해당 스트로크가 잘립니다.

InkDisp 개체의 속성만 복사하려는 경우 InkDisp 개체를 클립보드에 복사하는 것이 유용할 수 있습니다. InkDisp 개체를 클립보드에 복사하려면 strokes 매개 변수가 NULL로 설정된 ClipboardCopy 메서드를 호출합니다.

주의ICB_DelayedCopy 플래그를 사용한 결과로 메모리 누수 가능성을 방지하려면 OleFlushClipboard 또는 OleSetClipboard 메서드를 호출해야 합니다. ClipboardCopyWithRectangle 메서드에 대한 마지막 호출이 ICB_DelayedCopy 플래그를 사용한 경우 애플리케이션이 종료되기 전에 이 작업을 수행해야 합니다.
 
ClipboardCopyWithRectangleICB_Cut 모드에서 사용하면 두 개 이상의 스트로크로 분할되는 스트로크가 삭제되고 새 스트로크가 해당 위치에 추가됩니다.

또한 InkAddedInkDeleted 이벤트는 스트로크의 인덱스에 따라 생성됩니다. 예를 들어 인덱스 0,1,3,5 및 6의 스트로크를 삭제하면 두 개의 이벤트가 생성됩니다. 인덱스가 0123인 스트로크의 경우 1개, 인덱스가 5 및 6인 스트로크의 경우 1개입니다. 즉, 각 연속 집합에 대해 하나의 이벤트입니다.

InkAdded 이벤트에도 적용됩니다. 내부 알고리즘은 스트로크 컬렉션에서 새로 추가된 스트로크의 인덱스를 결정하며, 이는 위에서 설명 한 대로 InkAdded 이벤트가 발생하는 방식에 영향을 줍니다.

스트로크 수가 이벤트 처리기 내에서 쿼리되는 경우 결과는 아직 이벤트를 생성하지 않은 스트로크를 포함하여 전체 작업에 의해 추가된 총 스트로크 수입니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 Windows
헤더 msinkaut.h
라이브러리 InkObj.dll

참고 항목

ClipboardCopy 메서드

IInkDisp

InkClipboardFormats 열거형

InkClipboardModes 열거형

InkDisp 클래스

InkStrokes 컬렉션