컨트롤에 입력된 값이 Value형 멤버 변수로 전송되기에 적합한 데이터 형이고, 유효한 입력 범위 안에 있으면 DDX_로 시작되는 함수들이 호출되어 실제로 데이터가 전송되고, 그렇지 않으면 에러 메세지가 출력되면서 데이터 전송은 취소됩니다.
DDV: Dialog Data Validation(대화상자 데이터 유효성 확인)
DDX: Dialog Data eXchange(대화상자 데이터 교환)
UpdateData(FALSE)가 호출되면 DoDataExchange 함수가 호출되면서 DDX_로 시작하는 함수들이 호출되어 Value형 멤버 변수에 설정된 데이터가 컨트롤로 전송되어 화면에 출력됩니다. UpdateData(FALSE)가 호출되었을 경우에는 DDV_로 시작하는 함수는 호출되지 않습니다. Value형 멤버 변수에 설정된 값을 컨트롤로 전송할 때는 데이터 유효성 여부를 확인 할 필요가 없기 때문입니다.
DoDataExchange는 대화상자의 Value형 멤버 변수와 컨트롤에 입력된 값을 연결시키기 위해 사용됩니다. DoDataExchange 함수 안에 DDX_Text 등의 함수를 이용하여 대화상자의 멤버 변수와 컨트롤을 연결 시켜놓으면, UpdateData 함수를 호출함으로써 컨트롤에 입력된 내용을 멤버 변수에 저장하거나 설정된 값을 컨트롤로 전송하는 일을 쉽게 할 수 있었습니다.
참고자료
Visual C++ 6 완벽가이드 2nd Edition, 김용성, 영진닷컴
'IT > C++, MFC' 카테고리의 다른 글
16-1 : C++에서의 형 변환 연산 (static_cast: A 타입에서 B타입으로) (0) | 2023.03.06 |
---|---|
C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. (0) | 2023.03.06 |
윈도우즈 API 정복 1 - 제 3장 (0) | 2023.02.28 |
윈도우즈 API 정복 1 - 제 2장 (0) | 2023.02.27 |
SetParent 함수(winuser.h) (0) | 2023.02.15 |