본문 바로가기
[ Program ]/자체숙제프로젝트

1-2.editbox 의 내용 띄우기

by 관이119 2013. 11. 28.

<사진은 누르면 커집니다!>

 

이제 데이터를 전송해 볼려고 하니 데이터를 전송하려고 해도 전송할 데이터가 없습니다!

 

이건큰일이군요.

 

그래서 에디트박스(타프로그램의 텍스트박스) 를 만들어서 거기입력된 내용을 일단 메세지 박스로 띄우는것부터 해보기로 했습니다.

 

 

 

리소스 파일에서 제일처음있던 폼을 열어봅시다.

 

 

그리고나서 우측의 도구상자를 클릭해주면 여러 기본 컨트롤 들이 기본으로 주루룩 나옵니다.

 

폼에 보면 "여기에 대화상자 컨트롤을 배치합니다" 라고 되있으니 그말대로 해봅시다.

 

그중에 Edit Control 이라는 컨트롤을 드래그 드랍으로 폼위에 올려줍시다.

 

 

그리고 위와같이 크기도 좀 키워줍시다.

 

 

이제 컨트롤에 입력한 데이터를 볼수있게 메세지 박스를 띄워줘야 하는데 어떻게 해야할지 모르겠습니다!

그래서 구글링을 하니 AfxMessageBox 로 메세지박스를 띄울수 있다는군요.

그런데 사용법을 모르니 msdn 에서 한번찾아 봅시다.

그럼위와같이 친절한 예제가 있습니다!

저렇게하면되겠군 기억하면서 이제 다음 작업을 합시다.

 

 

아까만든 Edit Control 옆에 버튼컨트롤도 하나 올려줍시다.(Edit Control  위로 2칸위에 Button 이라는 컨트롤이 있습니다.)

 

 

그리고 새로만든버튼에서 마우스 우클릭으로 이벤트 처리기추가를 들어가봅시다.

 

 

그럼 팝업창이 뜨는데 추가및 편집을 누릅니다.

 

 

그럼 위와같이 버튼이벤트가 생성되었습니다

 

 

요기서 일단 아까 msdn 에서 찾은 예제를 그대로 복사해서 넣어줘봅시다.

AfxMessageBox(_T("Simple message box."));

일단 잘되나 테스트부터!

 

 

 

F5 를 눌러서 실행해서 새로만든 버튼을 눌러보면  Simple message box 라는 메세지박스가 잘뜨는걸 확인할수 있습니다.

그럼이제 저자리에 Edit Control 에 들어있는 텍스트를 넣어주기만 하면 되는군요

 

 

그럼 이제 소스를 위와같이 바꿔봅시다.

//AfxMessageBox(_T("Simple message box."));

 CEdit *editbox =(CEdit *)GetDlgItem(IDC_EDIT1);

 CString str;
 editbox ->GetWindowText(str);

 AfxMessageBox(str);

 

우리가만든 에디트박스의 ID가 IDC_EDIT1 이니 그걸 가리키는 포인터를 하나 만들어서

GetWindowText 로 텍스트를 가져와라! 라고 하면 가져올수 있습니다.

그러면 그 텍스트를 Simple message box 라는 문자 대신에 넣어줬습니다.

그런데 갑자기 _T 는 왜없앤거지?!

에 대한 답은 여기있습니다.

 

--여기-----------------------------------------------------------------------------------------------------------

멀티바이트 환경에서 문자열 처리

MessageBox(NULL, "testing", "caution", MB_OK);

 

유니코드 환경에서 문자열처리(문자열 앞에 L을 붙여야만 한다.)

MessageBox(NULL, L"testing", L"caution", MB_OK);

 

위 두가지 경우를 상황에 따라 사용할수 있게 하는 것이 _T() 매크로이다.

_T() 매크로는 현재 환경이 멀티바이트면 문자열을 그대로 쓰고, 유니코드 환경이면 문자열 앞에 L을 붙여준다.

 

참고로 Visual C++ 2008 환경에서 멀티바이트/유니코드 문자 환경을 설정

메뉴->프로젝트->(프로젝트이름)속성-> 구성속성->일반->문자집합->멀티바이트/유니코드  

--여기 끝--------------------------------------------------------------------------------------------------------

 

 

 

 

이제 F5 를 눌러서 실행한뒤 에디트 박스에 aaa라는 문자를 입력하고 버튼을 누르면 aaa 라는 메세지박스가 출력됩니다

그럼 이제 '에디트박스에 들어있는문자' 라는 전송할 데이터도 만들어졌습니다!

 

'[ Program ] > 자체숙제프로젝트' 카테고리의 다른 글

1-4.나에게 윈도우메세지전송  (0) 2013.12.09
1-3.다른프로그램간 데이터전송 준비  (0) 2013.12.02
1-1.윈도우폼 띄우기  (0) 2013.11.27
1.기본데이터 전송  (0) 2013.11.27
자체숙제 시작  (0) 2013.11.27

댓글