다음을 통해 공유


OleCreatePropertyFrameIndirect 함수(olectl.h)

OleCreatePropertyFrame을 호출할 때와 같이 별도의 매개 변수를 지정하지 않고 매개 변수가 포함된 구조체(OCPFIPARAMS)를 기반으로 속성 시트 대화 상자를 만듭니다.

구문

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

매개 변수

[in] lpParams

대화 상자에 대한 생성 매개 변수를 포함하는 호출자가 할당한 구조체에 대한 포인터입니다.

반환 값

이 함수는 E_INVALIDARG, E_OUTOFMEMORY 및 E_UNEXPECTED 표준 반환 값과 다음을 지원합니다.

반환 코드 Description
S_OK
대화 상자가 호출되고 성공적으로 작동했습니다.
E_POINTER
lpParams의 주소가 잘못되었습니다. 예를 들어 NULL일 수 있습니다.

설명

cbStructSize(구조체의 크기) 및 dispIDInitialProperty 외에도 OCPFIPARAMS 구조체의 모든 멤버는 OleCreatePropertyFrame에 대한 매개 변수와 동일한 의미 체계를 갖습니다. dispIDInitialProperty가 DISPID_UNKNOWN 경우 두 함수의 동작이 동일합니다.

IPerPropertyBrowsingIPropertyPage2와 함께 작업하면 dispIDInitialProperty를 사용하면 호출자가 대화 상자를 표시할 때 강조 표시할 단일 속성을 지정할 수 있습니다. OleCreatePropertyFrame을 사용할 때는 이 기능을 사용할 수 없습니다. 처음에 표시할 페이지와 속성을 확인하려면 속성 프레임에서 다음을 수행합니다.

  1. (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...)를 호출하여 첫 번째 개체에 대한 인터페이스 포인터를 가져옵니다.
  2. IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...)를 호출하여 강조 표시할 속성이 포함된 CLSID 페이지를 확인합니다. 이 프레임이 호출되는 모든 개체는 프레임에 표시되는 속성 집합을 지원해야 합니다.
  3. 대화 상자를 만들면 2단계에서 검색된 CLSID가 있는 속성 페이지가 IPropertyPage::Activate로 활성화됩니다.
  4. 속성 프레임은 IPropertyPage2에 대한 활성 페이지를 쿼리합니다.
  5. 성공하면 프레임은 IPropertyPage2::EditProperty(dispIDInitialProperty) 를 호출하여 해당 대화 상자에서 올바른 필드를 강조 표시합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 olectl.h
라이브러리 OleAut32.lib
DLL OleAut32.dll

추가 정보

OCPFIPARAMS

OleCreatePropertyFrame