Edit Control
텍스트를 입력하고 편집할 수 있는 표준 컨트롤
사용법
다이얼로그 베이스 프로젝트
1. 다이얼로그 편집창을 열고 Edit Control을 배치
2. Edit Control을 선택해서 우측에 속성에서 사용할 ID를 설정
3. 클래스 마법사로 멤버 변수와 연결
이름과 액세스를 설정하고 마침
범주에서 컨트롤이나 값을 설정할수 있는데
컨트롤의 경우 변수로 CEdit로 설정되어 EditControl을 직접 제어(활성/비활성등) 할 수 있고,
값의 경우 변수가 CString로 설정되어 UpdateData를 통해 에디터에 텍스트를 설정하거나 현재 텍스트를 얻어올수 있다
4. 다이얼로그 클래스에 보면 변수가 설정되어있다
EditControl에서 Enter 입력시 처리
PreTranslateMessage에서 Enter가 입력되었을때 해당 메시지를 보낸 윈도우가 Edit 일경우 처리
BOOL CEchoMFCClientDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
if (WM_KEYDOWN == pMsg->message)
{
if (VK_RETURN == pMsg->wParam)
{
if (pMsg->hwnd == EC_Input.GetSafeHwnd())
{
CString inputMsg;
InputEditor.GetWindowText(inputMsg);
InputEditor.SetWindowText(_T("")); // 에디터에는 공백으로 설정
// inputMsg를 처리
}
return TRUE;
}
if (VK_ESCAPE == pMsg->wParam)
{
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
'MFC' 카테고리의 다른 글
[MFC] 다이얼로그 기반 프로젝트에서 갱신 처리 (0) | 2025.03.02 |
---|---|
[MFC] CString 문자열 파싱 (0) | 2025.03.02 |
[MFC] [문제 해결] 미리 컴파일된 헤더를 찾는 동안 예기지 않은 파일의 끝이 나타났습니다 ... (0) | 2025.03.02 |
[MFC] 다이얼로그 기반 프로젝트에서 Enter, Esc로 종료되지 않도록 처리 (0) | 2025.03.02 |
[MFC] MFC 추가 설치 (0) | 2024.05.04 |