다음을 통해 공유


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 레지스트리에서 설정 = 자유.

      두 가지 플래그를 결합할 수 있습니다 afxRegApartmentThreadingafxRegFreeThreading 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

AfxOleRegisterTypeLib

AfxOleUnregisterClass

AfxOleUnregisterTypeLib

개념

MFC 매크로 전역