OLEUIPASTESPECIALW 구조체(oledlg.h)
OLE 사용자 인터페이스 라이브러리가 특수 붙여넣 기 대화 상자를 초기화하는 데 사용하는 정보와 대화 상자가 해제될 때 라이브러리가 정보를 반환할 수 있는 공간이 포함되어 있습니다.
구문
typedef struct tagOLEUIPASTESPECIALW {
DWORD cbStruct;
DWORD dwFlags;
HWND hWndOwner;
LPCWSTR lpszCaption;
LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData;
HINSTANCE hInstance;
LPCWSTR lpszTemplate;
HRSRC hResource;
LPDATAOBJECT lpSrcDataObj;
LPOLEUIPASTEENTRYW arrPasteEntries;
int cPasteEntries;
UINT *arrLinkTypes;
int cLinkTypes;
UINT cClsidExclude;
LPCLSID lpClsidExclude;
int nSelectedIndex;
BOOL fLink;
HGLOBAL hMetaPict;
SIZEL sizel;
} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
멤버
cbStruct
구조체의 크기(바이트)입니다. 이 멤버는 입력에 채워야 합니다.
dwFlags
입력 시 dwFlags는 초기화 및 만들기 플래그를 지정합니다. 종료 시 사용자의 선택 항목을 지정합니다. 다음 플래그의 조합일 수 있습니다.
값 | 의미 |
---|---|
|
대화 상자에 도움말 단추가 표시됩니다. |
|
대화 상자 시작 시 라디오 붙여넣 기 단추가 선택됩니다. PSF_SELECTPASTE 또는 PSF_SELECTPASTELINK 지정되지 않은 경우 기본값입니다. 또한 대화 종료 시 단추의 상태를 지정합니다. IN/OUT 플래그입니다. |
|
대화 상자 시작 시 붙여넣기링크 라디오 단추가 선택됩니다. 또한 대화 종료 시 단추의 상태를 지정합니다. IN/OUT 플래그입니다. |
|
아이콘으로 표시 라디오 단추가 대화 상자 종료에서 선택되었는지 여부입니다. OUT 플래그입니다. |
|
초기화 시 아이콘으로 표시 검사 상자가 비활성화됩니다. |
|
기본적으로 OLE 개체를 붙여넣을 때 사용자가 사용할 수 있는 대화 상자에서 변경 아이콘 단추를 사용하지 않도록 설정하는 데 사용됩니다. 그렇지 않으면 STAYONCLIPBOARDCHANGE 를 참조하세요. |
|
대화 상자가 있는 동안 클립보드가 변경되면 대화 상자에 계속 유지하도록 지시하는 데 사용됩니다. 사용자가 다른 애플리케이션으로 전환하여 항목을 복사하거나 잘라내는 경우 대화 상자는 기본적으로 취소 작업을 수행합니다. 그러면 사용자에게 표시하는 중간에 있는 옵션이 더 이상 클립보드의 내용과 관련하여 최신 상태가 아니기 때문에 대화 상자가 제거됩니다. |
|
STAYONCLIPBOARDCHANGE와 함께 사용됩니다(다른 작업은 수행하지 않음). 대화 상자가 위로 올라가고 STAYONCLIPBOARDCHANGE 가 지정된 동안 클립보드가 변경되면 NOREFRESHDATAOBJECT 는 대화 상자가 클립보드의 새 내용을 반영하도록 대화 상자의 내용을 새로 고쳐서는 안 됨을 나타냅니다. 이는 애플리케이션이 클립보드에 있는 대화 상자 외에 IDataObject 에 붙여넣기 특수 대화 상자를 사용하는 경우(예: 마우스 오른쪽 단추 클릭 끌어서 놓기 작업의 일부로) 유용합니다. |
hWndOwner
대화 상자를 소유하는 창입니다. 이 멤버는 NULL이 아니어야 합니다.
lpszCaption
대화 상자의 제목으로 사용할 문자열에 대한 포인터입니다. NULL인 경우 라이브러리는 붙여넣기 스페셜을 사용합니다.
lpfnHook
대화 상자용 메시지를 처리하는 후크 함수에 대한 포인터입니다. 후크 함수는 라이브러리의 대화 상자 프로시저로 다시 처리되지 않았다는 메시지를 전달하려면 0을 반환해야 합니다. 후크 함수는 라이브러리의 대화 상자 프로시저가 이미 처리한 메시지를 처리하지 못하도록 0이 아닌 값을 반환해야 합니다.
lCustData
라이브러리가 lpfnHook 멤버가 가리키는 후크 함수에 전달하는 애플리케이션 정의 데이터입니다. 라이브러리는 WM_INITDIALOG 메시지의 lParam 매개 변수에서 OLEUIPASTESPECIAL 구조체에 대한 포인터를 전달합니다. 이 포인터를 사용하여 lCustData 멤버를 검색할 수 있습니다.
hInstance
lpTemplateName 멤버가 지정한 대화 상자 템플릿을 포함하는 인스턴스입니다.
lpszTemplate
라이브러리의 붙여넣기 특수 대화 상자 템플릿으로 대체될 대화 상자 템플릿의 리소스 파일 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.
hResource
사용자 지정된 템플릿 핸들입니다.
lpSrcDataObj
클립보드에서 붙여넣을 데이터 개체의 IDataObject 인터페이스에 대한 포인터입니다. 이 멤버는 입력에 채워집니다. OleUIPasteSpecial이 호출될 때 lpSrcDataObj가 NULL인 경우 OleUIPasteSpecial은 클립보드에서 IDataObject에 대한 포인터를 검색하려고 시도합니다. OleUIPasteSpecial이 성공하면 lpSrcDataObj에서 반환된 IDataObject를 해제하는 것은 호출자의 책임입니다.
arrPasteEntries
허용되는 형식을 지정하는 OLEUIPASTEENTRY 배열입니다. 이 멤버는 입력에 채워집니다.
cPasteEntries
OLEUIPASTEENTRY 배열 항목의 수입니다. 이 멤버는 입력에 채워집니다.
arrLinkTypes
허용되는 링크 유형 목록입니다. 링크 형식은 arrPasteEntries에서 OLEUIPASTEFLAG를 사용하여 참조됩니다. 이 멤버는 입력에 채워집니다.
cLinkTypes
링크 형식의 수입니다. 이 멤버는 입력에 채워집니다.
cClsidExclude
lpClsidExclude의 CLSID 수입니다. 이 멤버는 입력에 채워집니다.
lpClsidExclude
붙여넣기 작업에 사용할 수 있는 서버 개체 목록에서 제외할 CLSID 배열에 대한 포인터입니다. 링크 붙여넣기에는 영향을 주지 않습니다. 애플리케이션은 이 목록에 자체 CLSID를 나열하여 자체적으로 포함되는 것을 방지할 수 있습니다. 이 필드는 입력에 채워집니다.
nSelectedIndex
사용자가 선택한 arrPasteEntries 의 인덱스입니다. 이 멤버는 출력에 채워집니다.
fLink
사용자가 링크 붙여넣 기 또는 붙여넣기를 선택했는지 여부입니다. 이 멤버는 출력에 채워집니다.
hMetaPict
사용자가 선택한 아이콘 및 아이콘 제목이 포함된 메타파일을 처리합니다. 이 멤버는 출력에 채워집니다.
sizel
사용자가 선택한 표시 측면이 원본에 표시된 측면과 일치하는 경우 원본에 표시된 개체의 크기입니다. 사용자가 다른 측면을 선택하면 sizel.cx 및 sizel.cy 모두 0으로 설정됩니다. 원본에 표시되는 개체의 크기는 fLink 가 FALSE 인 경우 ObjectDescriptor에서 검색되고 fLink 가 TRUE인 경우 LinkSrcDescriptor에서 검색됩니다. 이 멤버는 출력에 채워집니다.
설명
참고
oledlg.h 헤더는 OLEUIPASTESPECIAL을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | oledlg.h |