본문 바로가기

공부해봅시다/MFC/API

[MFC] EDIT BOX 사용 예제 입니다.

[MFC] EDIT BOX를 이용한 사용 예입니다.

간단한 EDIT BOX 사용 예 를 보여드리겠습니다.

여기서 다룰 것은 EDIT BOX 2개를 생성 후 한 쪽의 EDIT BOX 의 글을 다른 EDIT BOX 로 복사하는 것 입니다.

사용자 삽입 이미지


우선 폼에 에디트 박스 두개와 버튼을 하나 만듭니다.
그리고 메뉴에서 View -> ClassWizard (CTRL +W) 를 눌러 EDIT BOX에 각 변수를 지정합니다.(용어 선택에 있어 실수가있을수있습니다. 왜냐면 제가 처음 시작하는 관계로 굉장히 무지합니다. 이점 양해해주시고. 많은 지적 부탁드립니다)


사용자 삽입 이미지

EDIT BOX의 컨트롤 아이디는 아래 와 같습니다.

IDC_EDIT1 로 시작합니다.

이부분을 두번 클릭합니다.


그럼 아래와 같은 창이 뜹니다.


사용자 삽입 이미지

맴버변수 이름은 m_edit1 이런식으로 m_변수이름 으로 지정을 합니다.
그리고 value 로 설정하고 변수타입은 CString 으로 지정합니다.

에디트 박스 두개 모두 타입을 설정합니다.


여기서 EDIT BOX 두개 변수명을
IDC_EDIT1  ->  m_edit1
IDC_EDIT3  ->  m_edit2 로 지정했습니다.

설정이 마무리 됬습니다. 버튼 이벤트를 클릭합니다.

void CEDlg::OnButton1()
{

 // 요안에 넣어욤!~

}


저 안에 코드를 넣습니다.

여기서 두가지 방법이 있습니다.

첫번째입니다.

 CString str;                                  // CString 타입의 str를  설정 합니다. 

 GetDlgItem(IDC_EDIT1)->GetWindowText(str); // EDIT1 값을 갖어와서 str 로 넘깁니다.
 GetDlgItem(IDC_EDIT3)->SetWindowText(str); // str 를 EDIT3 로 다시 출력해요.



두번째 방법입니다.

 UpdateData();     // UpdateData();  UpdateData(FALSE); 은 따로 설명할께요 
 m_edit2 = m_edit1;    // m_edit2 즉 IDC_EDIT3 박스에 m_edit1 IDC_EDIT1 값을 적용한다.
 UpdateData(FALSE);




이 두가지가 있습니다.

함 실행 화면 볼까요?

사용자 삽입 이미지


뭐 두가지 모두 작동하는 건 똑같습니다. 두가지 방법이 어떤 차이가 있는지는 제가 좀더 공부해보고 알려드리겠습니다;

지적 바로바로 해주세요.

전 욕먹는걸 두려워 하지않습니다. 그저 무관심이 두려울뿐입니다;


열심히 합시다!!


아 예제 프로그램은 나중에 따로 올릴께요. 죄송;