본문 바로가기
MFC

[MFC] Edit Control 사용

by 카피마스터 2025. 3. 2.

Edit Control

텍스트를 입력하고 편집할 수 있는 표준 컨트롤

 

사용법

다이얼로그 베이스 프로젝트

 

1. 다이얼로그 편집창을 열고 Edit Control을 배치

다이얼로그 편집창 열기
도구 상자 열기

 

Edit Control을 선택하고 다이얼로그를 클릭

 

2. Edit Control을 선택해서 우측에 속성에서 사용할 ID를 설정

 

3. 클래스 마법사로 멤버 변수와 연결

클래스 마법사 실행

 

변수 추가

 

이름과 액세스를 설정하고 마침 

 

범주에서 컨트롤이나 값을 설정할수 있는데

컨트롤의 경우 변수로 CEdit로 설정되어 EditControl을 직접 제어(활성/비활성등) 할 수 있고,

값의 경우 변수가 CString로 설정되어 UpdateData를 통해 에디터에 텍스트를 설정하거나 현재 텍스트를 얻어올수 있다

 

 

4. 다이얼로그 클래스에 보면 변수가 설정되어있다

DialogClass

 

 

 

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);
}