728x90
300x250

[MFC] 윈도우 프로그래밍 기초 - Edit Control(에디트 컨트롤) - 택스트상자

 

이번에 만들 건 Edit Control입니다.

여러분은 아마 지금쯤이면 어느 정도 짬좀 찼을 거 같습니다.

 

 

이번에 만들 건 텍스트 상자라고도 볼 수 있는 Edit Control 입니다.

 

 

이렇게 생긴거 하나 만들어 보겠습니다.

 


1. 결과물

 

 

(레이아웃)

 

 

말 안해도 자동으로 레이아웃 그리고 계셔야 합니다.

 

짬 찼으니깐요.

자동으로 못 그리면, 다시 이전 강의로 돌아가세요. 제발~(Please)

 

컨트롤 ID

Caption

범주(T)

변수 이름(N)

최대 문자 수

이벤트 처리기이름 

ReadOnly

IDC_STATIC

입력

 

 

 

 

 

IDC_STATIC

출력

 

 

 

 

 

IDC_EDIT1

 

Value

m_strName

5

 

 

IDC_EDIT2

 

Value

m_printName

5

 

 True

IDC_BUTTON1

입력해보기

 

 

 

OnBnClickedButton

 

 


2. 소스 코드 작성

  
void CExampleDlg::OnBnClickedButton1()
{
      UpdateData(TRUE);
      m_printName = m_strName;
       UpdateData(FALSE);
}

 

코드 내용 - 이벤트 버튼에 관한 코드 

 


3. 설명 - UpdateData에 대해서

 

Visual Basic이나 다른 프로그래밍 언어에선 UpdateData() 이딴거 안써도 솔직히 바로 바뀝니다.

MFC는 불편합니다.

 

실시간 변화를 할 수 없기에 인위적으로 변화를 하도록 제어하고 있습니다.

깊은 의미는 동시접근을 임의로 하지 못하도록 마치 신호등처럼 제어하고 있습니다.

 

 

 

 

운영체제론이라는 책에서 배울 수 있습니다.

교착상태를 예방하기 위해 이러한 원리를 적용한 것입니다.

 

정확한 의미는 우리하고 관련없으므로 생략합니다.

 

 


UpdateData의 함수 원형은 아래와 같습니다.

 

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

 

-> bSaveAndValidate의 상태는

BOOL 형태이니깐

 

TRUE

 

OR

 

FALSE

 

두 가지 밖에 안됩니다.

 

TRUE 상태에선 변경 작업을 허용합니다.

FALSE 상태에선 변경 작업을 끝냅니다.

 


동작해보면 잘 돌아갑니다. 참 쉽죠??

 

반응형

+ Recent posts