OleCreatePropertyFrameIndirect 함수(olectl.h)
OleCreatePropertyFrame을 호출할 때와 같이 별도의 매개 변수를 지정하지 않고 매개 변수가 포함된 구조체(OCPFIPARAMS)를 기반으로 속성 시트 대화 상자를 만듭니다.
구문
WINOLECTLAPI OleCreatePropertyFrameIndirect(
[in] LPOCPFIPARAMS lpParams
);
매개 변수
[in] lpParams
대화 상자에 대한 생성 매개 변수를 포함하는 호출자가 할당한 구조체에 대한 포인터입니다.
반환 값
이 함수는 E_INVALIDARG, E_OUTOFMEMORY 및 E_UNEXPECTED 표준 반환 값과 다음을 지원합니다.
반환 코드 | Description |
---|---|
|
대화 상자가 호출되고 성공적으로 작동했습니다. |
|
lpParams의 주소가 잘못되었습니다. 예를 들어 NULL일 수 있습니다. |
설명
cbStructSize(구조체의 크기) 및 dispIDInitialProperty 외에도 OCPFIPARAMS 구조체의 모든 멤버는 OleCreatePropertyFrame에 대한 매개 변수와 동일한 의미 체계를 갖습니다. dispIDInitialProperty가 DISPID_UNKNOWN 경우 두 함수의 동작이 동일합니다.
IPerPropertyBrowsing 및 IPropertyPage2와 함께 작업하면 dispIDInitialProperty를 사용하면 호출자가 대화 상자를 표시할 때 강조 표시할 단일 속성을 지정할 수 있습니다. OleCreatePropertyFrame을 사용할 때는 이 기능을 사용할 수 없습니다. 처음에 표시할 페이지와 속성을 확인하려면 속성 프레임에서 다음을 수행합니다.
- (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...)를 호출하여 첫 번째 개체에 대한 인터페이스 포인터를 가져옵니다.
- IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...)를 호출하여 강조 표시할 속성이 포함된 CLSID 페이지를 확인합니다. 이 프레임이 호출되는 모든 개체는 프레임에 표시되는 속성 집합을 지원해야 합니다.
- 대화 상자를 만들면 2단계에서 검색된 CLSID가 있는 속성 페이지가 IPropertyPage::Activate로 활성화됩니다.
- 속성 프레임은 IPropertyPage2에 대한 활성 페이지를 쿼리합니다.
- 성공하면 프레임은 IPropertyPage2::EditProperty(dispIDInitialProperty) 를 호출하여 해당 대화 상자에서 올바른 필드를 강조 표시합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | olectl.h |
라이브러리 | OleAut32.lib |
DLL | OleAut32.dll |