헬마입니다.

Visual C++ 을 6.0부터 써오시던 분이라면 다들 클래스 위저드를 기억하실겁니다. MFC하에서 클래스의 현재 상태 등을 보고 메시지 처리기, 함수, 변수 생성들을 한 화면에서 일관되게 처리하는데 최고의 기능을 가진 넘이었습니다.

그런데, Visual Studio .NET ( Ver 2002 ) 이 나오면서 클래스 위저드가 사라졌습니다. 아마 C#이나 이런 다른 언어와의 일관성을 위해서 없애버린 것 같은데 수많은 사람들이 클래스 위저드를 돌려달라고 많은 항의와 떼를 썼지만, MS는 현재가 더 편하다 그냥 써라... 라며 무시로 일관하고 있었습니다.

하지만, 이번에 Visual Studio 2010 이 나오면서 클래스 위저드를 복귀시킨다는 결정으로 많은 사람들을 설레게 하였는데요. 덕분에 베타1이 나오자마자 설치해봤지만 아직 클래스 위저드는 찾을 수 없었습니다. ( 제가 못 찾은 것일지도 몰라요 ... ㅠㅠ ) . ( '')// 그렇지만, 이번에 나타난 베타2에서는 당당히 메뉴에 클래스 위저드가 자리잡고 작동도 잘 되는걸 확인하였습니다.

드디어 메시지 핸들러 넣을때마다 이리저리 마우스 포인터 옮기고 머하고 하던 구찮음이 좀 사라지는건가요.. ㄷㄷ

사실 익숙해지면 별거아니지만 그래도 클래스 위저드가 있으면 더 편할텐데...라는 생각이 몇년 동안 사라지지 않았던 것도 사실입니다.


위 화면은 메뉴에서 클래스 위저드를 선택하는 것 입니다. 프로젝트 메뉴에 있고 단축키는 변경되었네요. VC 6 에서의 클래스 위저드 단축키는 Ctrl+W 였던 것 같은데 말이죠. 단축키는 새로 지정해서 쓰든가 바꿔달라고 건의를 하던가 해야겠습니다. ^^

MFC 예제 프로젝트로 클래스 위저드를 실행한 화면입니다. VC 6 에 비해 좀 더 역시 화려해보입니다. 하지만 실제 기능은 거의 차이가 없습니다.

메시지 택의 화면입니다. 역시나 Add Custom Message 를 눌러서 사용자정의 메시지 ( RegisterWindowMessage 함수로 등록하는 메시지 ) 등을 추가할 수 있도록 되어있습니다.

가상 함수 탭입니다. 왼쪽은 정의되어 있는 가상함수 이고 오른쪽은 그중에 재정한 가상함수 들입니다. 재정의하면 왼쪽에서 이름이 진하게 표시됩니다.

멤버 변수 목록입니다. 컨트롤에 묶인 변수가 없으면 컨트롤ID만 나와서 묶기 편하도록 해주네요 ( 6도 이랬던가요.. 6은 별로 사용하질 않아서 기억이 잘 안나는군요 ... )

마지막으로, 메소드 목록입니다. 이왕이면 반환값도 표시해주면 좋을텐데 하는 아쉬움이 있습니다. 물론, 반환값은 함수의 서명에 포함되지는 않지만 그것도 저에겐 꽤나 중요한 함수의 정보라서 없으면 찜찜하네요.
 
위 화면은 Add Class 버튼을 누르면 나타나는 메뉴입니다.

Add Class 에서 TypeLib 를 통해 상속받은 클래스를 생성할 떄 입니다. ActiveX를 상속할 때도 거의 같은 화면이 나타납니다. 레지스트리를 선택하면 리스트박스에 레지스트리에서 검색된 상속가능한 개체 목록이 쭉 나오고 그중에 상속할 인터페이스를 선택하도록 되어있습니다. 파일을 선택하면 exe, tlb 등 해당개체를 직접 선택해야겠지요.

앞으로, 클래스 위저드가 좀 더 발전하여 이거 하나로 MFC 를 다 통제할 수 있는 그날이 오기를 바랍니다. ㄷㄷ

댓글을 달아 주세요

  1. BlogIcon 브주듀 2009.11.04 18:13 신고 Address Modify/Delete Reply

    헛! 클래스 위자드 다시 추가된건가요?
    안그래도 개발툴을 다른 걸로(2008) 변경할 계획이었는데..
    2010.. 관심없었는데 왠지 기대되는데요?

  2. 테엘 2010.02.26 03:45 Address Modify/Delete Reply

    MFC 클래스 위자드가 더 불편하지 않나? 창을 열었다 닫았다 해야되서...
    클래스 뷰가 훨씬 편하던데...