-
[MFC] 에디트 컨트롤 GetDlgItemText, SetDlgItemTextMFC/Visual C++ 2008 2021. 1. 25. 13:55반응형
이 포스팅에서는 두개의 버튼과 두 개의 에디트 컨트롤을 이용해서 위쪽의 에디트 컨트롤에 입력한 문자열을 아래의 에디드 컨트롤에 보여주는 프로젝트를 만들어 보려고 합니다.
이 포스팅을 위해서 필요한 GetDlgItemText 과 SetDlgItemText에 대해서 살펴 봅시다.
CWnd::GetDlgItemText
int GetDlgItemText(int nID, CString& rString) const;
이 함수는 매개변수 nID 의 아이디를 갖는 컨트롤의 문자열을 받아서 두 번째 매개 변수 rString에 대입해 주는 함수이다. 입력 컨트롤이 아닌 경우, 예를 들어 버튼 컨트롤이라면 버튼의 이름을 가져온다.
www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=49 참고 했음
CWnd::SetDlgItemText
void SetDlgItemText(int nID, LPCTSTR lpszString);
매개 변수 nID의 아이디를 가진 컨트롤에 lpszString의 문자열을 입력해주는 함수이다.
1. 두 개의 버튼과 두 개의 에디트 컨트롤을 배치한다.
2. 두 개의 버튼에 버튼 클릭 이벤트 처리 함수를 등록해준다.
3. 추가된 버튼 클릭 이벤트 처리 함수에 아래와 같이 코드를 작성해준다.
123456789101112131415void CTestDlg::OnBnClickedButton2(){// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.SetDlgItemText(IDC_EDIT3,str);}void CTestDlg::OnBnClickedButton1(){// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.GetDlgItemText(IDC_EDIT2,str);SetDlgItemText(IDC_EDIT2,_T(""));}cs 13번째 줄은 버튼을 눌렀을 때 문자열을 받아 온 듯한 극적인(?) 효과를 주기 위해서 추가 해주었다.에디트 컨트롤을 비워주는 역할을 한다.
4. 아, 까먹지 말고 str 은 헤더에서 멤버 변수로 선언해 준다. 두 함수 간에 공유해야 하는 변수라서 헤더에 선언해 주었습니당
//TestDlg.h
5. Ctrl+F5 를 이용해서 컴파일을 완료 해주면, 아래 와 같이 동작하는 것을 볼 수 있다.
728x90'MFC > Visual C++ 2008' 카테고리의 다른 글
[MFC] List Box 사용법 및 응용(InsertString, DeleteString, GetCurSel, GetText,Get Count) (0) 2021.01.25 [MFC] 콤보 상자(Combo Box) 변화된 값 가져오기, 초기 값 설정하기 (0) 2021.01.25 [MFC] 체크 박스 체크 상태 확인 및 활용 (0) 2021.01.25 [MFC] 버튼 ID와 컨트롤 주소를 이용해서 캡션 (Caption) 바꾸기 (0) 2021.01.25 [MFC]버튼(Button) 클릭으로 캡션 바꾸기 (0) 2021.01.25