기본 MFC 다이얼로그 프로그램을 생성하면, OK 버튼과 CANCLE 버튼이 있다.  그 2개는 사실 필요할 수도 있고, 필요 없을 수도 있는데, 보통은 버튼을 새로 만들지 바로 이름을 바꿔서 쓰지는 않는다...
 
 하지만 그 버튼을 재정의 하지 않고, 지워버려도 enter를 누르면 프로그램이 종료된다.(edit box 같은 곳은 괜찮지만, 다이얼로그가 선택된 상태로 엔터를 누르면 꺼진다.)

그럴 때 지워버린 버튼을 다시 찾을 수도 없기 때문에, 난감할 수 있는데 그럴 때는 클래스의 재정의로 함수를 재정의 한 후 사용하면 된다... 


클래스 뷰로 가서 dlg 클래스를 클리하고, 재정의 탭을 누른다. (번개표시가 이벤트, 그 옆이 재정의 이다. )


그 후에 쭉 내려와서 OnOk 함수를 재정의한다. 위의 Cancle도 있으니 필요하면 재정의 하면 된다.

 

그리고 재정의의 OnOK() 함수를 주석처리하면 이제 enter를 눌러도 종료되지 않는다...

다른 블로그를 보니, PreTran~~~` 하는 이벤트를 후킹하는 함수를 이용해서, enter 이벤트자체를 처리 안해버리던데.. 일단 해보진 않았지만, 그렇게 되면 모든, enter 이벤트자체가 안되니 edit box 등에서 불편하지 않을까 생각된다...
Posted by 바람처럼..
|