ActiveX MFC 컨트롤: 고급 속성 구현
이 문서에서는 고급 속성에서 ActiveX 컨트롤의 구현에 관련 된 항목을 설명 합니다.
읽기 전용 및 쓰기 전용 속성
속성에서 오류 코드를 반환합니다.
읽기 전용 및 쓰기 전용 속성
속성 추가 마법사 컨트롤에 대 한 읽기 전용 또는 쓰기 전용 속성을 구현 하는 빠르고 쉬운 메서드를 제공 합니다.
읽기 전용 또는 쓰기 전용 속성을 구현 하려면
컨트롤의 프로젝트를 로드 합니다.
클래스 뷰에서 컨트롤의 라이브러리 노드를 확장 합니다.
(두 번째 라이브러리 노드 노드) 컨트롤 인터페이스 노드를 마우스 오른쪽 단추로 바로 가기 메뉴를 엽니다.
바로 가기 메뉴에서 클릭 추가 누른 다음 속성 추가.
이 열은 속성 추가 마법사.
에 속성 이름 상자에 속성 이름을 입력 합니다.
에 대 한 형식 구현를 클릭 Get/Set 메서드.
에 속성 형식 상자에 속성에 대 한 적절 한 유형을 선택 합니다.
읽기 전용 속성을 추가 하려는 경우 Set 함수 이름을 지웁니다.쓰기 전용 속성을 추가 하려는 경우 Get 함수 이름을 지웁니다.
마침을 클릭합니다.
이렇게 하면 속성 추가 마법사 함수 삽입 SetNotSupported 또는 GetNotSupported 에서 디스패치 맵 엔트리 대신 일반 설정 또는 가져오기 함수입니다.
기존 읽기 전용 또는 쓰기 전용 속성을 변경 하려는 경우 디스패치 맵을 직접 편집한 고 control 클래스에서 불필요 한 Set 또는 Get 함수를 제거할 수 있습니다.
조건에 따라 읽기 전용 또는 쓰기 전용 (예: 특정 모드에서 컨트롤 에서만 작동할 때)에 속성을 추가 하려는 경우 보통 때 처럼 Set 또는 Get 함수를 제공 하 고 호출 하는 SetNotSupported 또는 GetNotSupported 적절 하 게 작동 합니다.예를 들면 다음과 같습니다.
void CMyAxUICtrl::SetMyProperty(SHORT newVal)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if (m_bReadOnlyMode) // some control-specific state
{
SetNotSupported();
}
else
{
m_iPropVal = newVal; // set property as normal
SetModifiedFlag();
}
}
이 코드 샘플에서는 호출 SetNotSupported 경우는 m_bReadOnlyMode 데이터 멤버인 TRUE.경우 FALSE를 속성을 새 값으로 설정 하 고 있습니다.
속성에서 오류 코드를 반환합니다.
사용 속성을 설정 하는 동안 오류가 발생 했음을 알리는 COleControl::ThrowError 사용 하는 함수는 SCODE (상태 코드) 매개 변수로.미리 정의 된 수 SCODE 또는 사용자 중 하나를 정의 합니다.목록을 미리 정의 된 SCODEs 및 사용자 지정을 정의 하기 위한 지침 SCODEs 참조 하십시오 ActiveX 컨트롤의 오류 처리 문서 ActiveX 컨트롤에서: 고급 항목.
도우미 함수는 미리 정의 된에 가장 많이 존재 SCODEs, 같은 COleControl::SetNotSupported, COleControl::GetNotSupported, 및 COleControl::SetNotPermitted.
[!참고]
ThrowError속성의 Get 또는 Set 내에서 오류를 반환 하는 방법만 사용할 수 있도록 함수 또는 자동화 메서드.경우에 적절 한 예외 처리기가 됩니다 번 스택에 제공 합니다.
보고 코드의 다른 곳에서 예외에 대 한 자세한 내용은 COleControl::FireError 및 ActiveX 컨트롤의 오류 처리 ActiveX 컨트롤의 문서: 고급 항목.