티스토리 뷰
다이얼로그로 대화창을 만들고, 에디트 버튼이나, 기타 엔터키 입력을 받는 콘트롤을 올려 놓을 경우에, 다이얼로그에서 먼져 엔터키를 받아서 OnOK();가 호출되어 걍 ~~ 죽죠.
이 부분을 막아 보겠습니다.
1. 리소스 부분에서 IDOK 부분을 다른 리소스로 변환합니다.
IDOK -- > IDC_BUTTON_ACCEPT
#define IDC_BUTTON_ACCEPT 1150 //(이건 Resource.h에 있음)
2. IDC_BUTTON_ACCEPT의 핸들러 OnAccept();를 만들죠..
void CConfigDlg::OnAccept()
{
// Add code here..
CDialog::OnOK();
}
3. 그 핸들러에 IDOK 의 디폴트 핸들러를 호출합니다. (위에서 같이요: CDialog::OnOK();)
4. ::PreTranslateMessage()핸들러를 만들고 아래와 같이 작성 하세요..
BOOL CConfigDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_KEYDOWN ) // Enter Key Prevent.. so good.. ^^
{
if(pMsg->wParam == VK_RETURN
|| pMsg->wParam == VK_ESCAPE )
{
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return TRUE; // DO NOT process further
}
}
return CDialog::PreTranslateMessage(pMsg);
}
5. 다이얼로그를 모달루 띠우고, 엔터키를 입력해도 죽지 않습니다.
즐코요..
펌 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=7092&ref=7092
'Development > Windows' 카테고리의 다른 글
[MFC] Class 에서 static 멤버 변수 사용하기 (0) | 2010.10.20 |
---|---|
[UAC] Windows Vista의 사용자 계정 컨트롤(User Account Control : UAC) – 누구를 위한 기능인가? 그리고 왜? (0) | 2010.10.11 |
MFC에서 Draw 사용시 주의할 점들 (0) | 2010.08.24 |
MFC 다이얼로그 상속 받기 (0) | 2010.08.18 |
MFC Button위에 Bitmap 입히기 (6) | 2010.07.15 |
MFC 기본 TIP (0) | 2010.07.15 |
Vista에서 UAC elevation 방법 (2) | 2010.07.13 |
MFC Dialog내에서 Control의 위치 구하기 (2) | 2010.07.09 |
- Total
- Today
- Yesterday
- C++
- driver
- jni
- linux
- gcc
- java
- Quiz
- jni강좌
- android
- db
- AWS
- 리눅스
- 안드로이드
- C
- database
- 프로그래밍
- API
- 음악
- Troubleshooting
- 드라이버
- algorithm
- it
- MFC
- Cloud
- Visual C++
- NDK
- source
- Python
- winapi
- kering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |