728x90
반응형
MFC에서 컨트롤을 커스터마이징 하려면 서브 클래싱을 기본적으로 사용할 수 있어야 한다. 앞으로 여러 컨트롤을 커스터마이징 하는 방법을 포스팅할 예정이기 때문에 우선 서브 클래싱 하여 클래스를 만드는 방법부터 알아보자. 사실 익숙해지면 그냥 코드 상에서 수정하는 편이 더 편하다.
1. 프로젝트 (우클릭) > 추가 (우클릭) > 클래스 를 누르면 아래와 같은 창이 뜬다.
MFC 콘트롤을 서브 클래싱 할 예정이므로 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
반응형
'Program Language > API | MFC' 카테고리의 다른 글
[MFC] MDI에서 시작 시 새 창 방지 코드 (0) | 2021.05.20 |
---|---|
[MFC] MDI에서 새창 열기 (0) | 2021.05.20 |
[MFC] 다이얼로그 캡션 변경 (0) | 2021.05.20 |
[MFC] CDockingPane Class 사용하기 (0) | 2021.05.18 |
[MFC] Control 깜빡임 방지 코드 (0) | 2021.04.22 |