출처 : http://www.debuglab.com/knowledge/classname.html
MFC기반 어플리케이션에서 Dialog Box에 자신의 윈도우 Class Name을 제공하는 방법을 설명하겠습니다. Single instance를 필요로하는 Dialog기반의 어플리케이션을 작성할 때 Dialog가 자신만의 Class Name을 필요로 할때가 있습니다. 그러나 MFC에서는 기본적으로 모든 Dialog가 #32770이라는 Class Name으로 설정되어있습니다.
MFC기반 어플리케이션에서 Dialog Box에 자신의 윈도우 Class Name을 제공하는 방법을 설명하겠습니다. Single instance를 필요로하는 Dialog기반의 어플리케이션을 작성할 때 Dialog가 자신만의 Class Name을 필요로 할때가 있습니다. 그러나 MFC에서는 기본적으로 모든 Dialog가 #32770이라는 Class Name으로 설정되어있습니다.
- ResourceView를 연다.
- Resource Editor에서 Dialog Box를 열고 Dialog Box에서 오른쪽 버튼을 클릭한 다음 Properties를 선택한다. 오른쪽 아래를 보면 Class Name이라는 곳이 disable되어 있을 것이다. 이 옵션을 enable할려면 resource view의 top-level node를 선택하고 오른쪽 버튼을 누르고 Properties를 선택한다. 그런 다음 Enable MFC Features 체크 박스를 해제한다. 다시 Dialog Box의 properties를 보면 Class Name 옵션이 enable되어있을 것이다.
- Class Name을 입력하고 .rc 파일을 text형식으로 연다. 해당하는 DIALOG resource로 가서 CLASS 옵션을 추가한다.
- CWinApp에 상속받은 class에서 InitInstance() 부분에 다음 코드를 추가한다.
- 위 단계에서 ::GetClassInfo()호출 부분에 만약 Dialog resource가 DLL에 위치해 있다면 적절한 HINSTANCE를 사용하여 호출한다.
- 프로젝트를 Build하고 실행한 다음 Spy++로 확인해보면 새로운 Class Name으로 설정된 것을 볼 수 있을 것이다.
'Dev Story > Tips' 카테고리의 다른 글
여러개의 컨트롤 아이디를 하나의 함수로 매핑 (0) | 2008.04.19 |
---|---|
C++ Builder 또는 Turbo C++ 에서 OpenCV 사용하기 (0) | 2008.04.15 |
Delphi Virtual Keycode (0) | 2008.04.07 |
델파이에서 System Global Hotkey 사용하기 (0) | 2008.04.07 |
C++ Builder 에서 System Global Hotkey 사용하기 (0) | 2008.04.07 |