Program Language/API | MFC

[MFC] MFC 컨트롤 서브클래싱 하기

야곰야곰+책벌레 2021. 5. 19. 18:48
728x90
반응형

  MFC에서 컨트롤을 커스터마이징 하려면 서브 클래싱을 기본적으로 사용할 수 있어야 한다. 앞으로 여러 컨트롤을 커스터마이징 하는 방법을 포스팅할 예정이기 때문에 우선 서브 클래싱 하여 클래스를 만드는 방법부터 알아보자. 사실 익숙해지면 그냥 코드 상에서 수정하는 편이 더 편하다.

 

1. 프로젝트 (우클릭) > 추가 (우클릭) > 클래스 를 누르면 아래와 같은 창이 뜬다.

   MFC 콘트롤을 서브 클래싱 할 예정이므로 MFC Class를 선택한다.

MFC Class를 선택하고 '추가'를 누르자.

2. Class Name은 새롭게 만들 클래스 이름이며, Base Class는 서브 클래싱 할 클래스 이름이다.

서브클래싱할 클래스를 골라보자.

3. 생성된 클래스는 Base class를 상속한 형태로 만들어진다.

   예로 CEdit를 Base Class로 하는 CMxEdit를 만들어 보았다.

// CMxEdit

class CMxEdit : public CEdit
{
	DECLARE_DYNAMIC(CMxEdit)

public:
	CMxEdit();
	virtual ~CMxEdit();

protected:
	DECLARE_MESSAGE_MAP()
};

사실 서브클래싱을 할 정도면 MFC에 어느 정도 기본 지식은 있는 상태라 굳이 설명을 하지 않아도 되겠지만 행여 급한 마음에 구현하려고 하는 경우가 있기 때문에 간단하지만 글을 남긴다. 앞에서도 언급했듯이 위의 절차를 거치지 않고 원하는 클래스를 상속하고 DECLARE_DYNAMIC등과 같은 것들을 추가해주면 간단하게 만들 수도 있다.

728x90
반응형