AfxOleRegisterControlClass
Control 클래스는 Windows 등록 데이터베이스에 등록합니다.
BOOL AFXAPI AfxOleRegisterControlClass(
HINSTANCE hInstance,
REFCLSID clsid,
LPCTSTR pszProgID,
UINT idTypeName,
UINT idBitmap,
int nRegFlags,
DWORD dwMiscStatus,
REFGUID tlid,
WORD wVerMajor,
WORD wVerMinor
);
매개 변수
hInstance
컨트롤 클래스와 연관 된 모듈의 인스턴스 핸들입니다.clsid
컨트롤의 고유 클래스 ID입니다.pszProgID
컨트롤의 고유 프로그램 ID입니다.idTypeName
컨트롤에 대해 사용자가 읽을 수 있는 형식 이름이 들어 있는 문자열의 리소스 ID를 지정 합니다.idBitmap
도구 모음 또는 팔레트에서 OLE 컨트롤을 나타내는 데 사용 되는 비트맵의 리소스 ID를 지정 합니다.nRegFlags
다음 플래그 중 하나를 포함 합니다.afxRegInsertableOLE 개체에 대해 개체 삽입 대화 상자를 표시 하 여 제어할 수 있습니다.
afxRegApartmentThreading스레딩 모델에 ThreadingModel 레지스트리에서 설정 = 아파트.
afxRegFreeThreading스레딩 모델에 ThreadingModel 레지스트리에서 설정 = 자유.
두 가지 플래그를 결합할 수 있습니다 afxRegApartmentThreading 및 afxRegFreeThreading Threadingmodel로 둘 다.참조 InprocServer32 에 있는 Windows SDK 스레딩 모델이 등록에 대 한 자세한 내용은.
[!참고]
MFC 버전을 MFC 4.2에서 전에 intnRegFlags 매개 변수가 BOOL 매개 변수를 bInsertable는 개체 삽입 대화 상자에서 삽입할 컨트롤 허용 되거나 허용 합니다.
dwMiscStatus
상태 플래그는 다음 중 하나 이상을 포함 (플래그에 대 한 설명은 참조 하십시오. OLEMISC 열거형에는 Windows SDK):OLEMISC_RECOMPOSEONRESIZE
OLEMISC_ONLYICONIC
OLEMISC_INSERTNOTREPLACE
OLEMISC_STATIC
OLEMISC_CANTLINKINSIDE
OLEMISC_CANLINKBYOLE1
OLEMISC_ISLINKOBJECT
OLEMISC_INSIDEOUT
OLEMISC_ACTIVATEWHENVISIBLE
OLEMISC_RENDERINGISDEVICEINDEPENDENT
OLEMISC_INVISIBLEATRUNTIME
OLEMISC_ALWAYSRUN
OLEMISC_ACTSLIKEBUTTON
OLEMISC_ACTSLIKELABEL
OLEMISC_NOUIACTIVATE
OLEMISC_ALIGNABLE
OLEMISC_IMEMODE
OLEMISC_SIMPLEFRAME
OLEMISC_SETCLIENTSITEFIRST
tlid
Control 클래스의 고유 ID입니다.wVerMajor
컨트롤 클래스의 주 버전 번호입니다.wVerMinor
컨트롤 클래스의 부 버전 번호입니다.
반환 값
컨트롤 클래스에 등록 된 경우 0이 아닌. 그렇지 않으면 0입니다.
설명
이 컨트롤을 인식 OLE 컨트롤 컨테이너에서 사용할 수 있습니다.AfxOleRegisterControlClass컨트롤의 이름 및 위치에서 시스템 레지스트리를 업데이트 하 고 또한 레지스트리에 있는 컨트롤을 지 원하는 스레딩 모델을 설정 합니다.자세한 내용은 기술 참고 64, "아파트 모델 스레딩 OLE 컨트롤" 및 에 대 한 프로세스와 스레드 에 Windows SDK.
예제
// Member function implementation of class COleObjectFactory::UpdateRegistry
//
BOOL CMyAxCtrl::CMyAxCtrlFactory::UpdateRegistry(BOOL bRegister)
{
// TODO: Verify that your control follows apartment-model threading rules.
// Refer to MFC TechNote 64 for more information.
// If your control does not conform to the apartment-model rules, then
// you must modify the code below, changing the 6th parameter from
// afxRegInsertable | afxRegApartmentThreading to afxRegInsertable.
if (bRegister)
return AfxOleRegisterControlClass(
AfxGetInstanceHandle(),
m_clsid,
m_lpszProgID,
IDS_NVC_MFCAXCTL,
IDB_NVC_MFCAXCTL,
afxRegInsertable | afxRegApartmentThreading,
_dwMyOleMisc,
_tlid,
_wVerMajor,
_wVerMinor);
else
return AfxOleUnregisterClass(m_clsid, m_lpszProgID);
}
위의 예제 어떻게 AfxOleRegisterControlClass 플래그를 삽입할 수 라고 및 아파트에 대 한 플래그 비트는 함께 여섯 번째 매개 변수를 만들려면 Or 모델:
afxRegInsertable | afxRegApartmentThreading,
활성화 된 컨테이너에 대해 개체 삽입 대화 상자 컨트롤 표시 되 고 해당 아파트 모델 인식 됩니다.아파트 모델 인식 컨트롤 컨트롤 한 아파트에서 정적 데이터에 액세스 하는 동안 스케줄러에서 완료 되 고 같은 정적 데이터를 사용 하 여 같은 클래스의 다른 인스턴스를 시작 하기 전에 활성화 될 수 있도록 데이터 잠금에 의해 보호 되는 정적 클래스를 확인 해야 합니다.정적 데이터 액세스가 중요 섹션 코드에 의해 표시 됩니다.
요구 사항
헤더: <afxctl.h>
참고 항목
참조
AfxOleRegisterPropertyPageClass