MFC/MFC클라이언트

DDX/DDV의 매커니즘과 Edit, Static 컨트롤윈도우

season97 2025. 3. 19. 11:48
728x90
반응형

DDX / DDV

ㆍ 에디트컨트롤은 입력에 최적화 되어 있는데 이걸 DDX/DDV매커니즘이 도와준다

 

ㆍ 나이를 입력 하라는 부분에 숫자를 안넣고 한글로"스무살" 넣을 시 오류 반환과 같은 기능 구현할때 사용

 

 

# 다이얼로그 실습과 TIP

ㆍ 이 상태에서 컨트롤 + D 를 누르면 

ㆍ 대화상자 띄웠을때 이 순서대로 인풋 포커스가 간다

ㆍ 클릭을 하면 이 순서를 바꿔줄 수 있다.

ㆍ 다이얼로그는 컨트롤 + T 키를 누르면 디버그를 돌리지 않고 바로 테스트 해볼 수 있다.

ㆍ 변수를 삭제하고 싶으면 이 부분을 다 삭제해 줘야 하고 만약에 인풋박스던 스태틱박스던 이미 만들어준 영역을 삭제했다면, 만들어준 변수도 삭제해 줘야 오류가 나지 않는다

ㆍ 컴파일타임에서 오류가 나는게 아니라 런타임중에 프로그램이 종료되니, 주의하도록 하자

 

ㆍ 변수를 추가하면 이런식으로 매크로로 선언된다

 

ㆍ 최솟값과 최댓값을 설정할 수 있고, 범위에서 벗어나면 자동으로 안내 메시지가 뜬다.

 

ㆍ 설정을 이런식으로 해버리면 에디트 컨트롤러가 아니라 스태틱 텍스트처럼 보인다

ㆍ 이거 이렇게 하면 Test String이 안뜬다

ㆍ 여기서 재정의 할수있는 함수를 확인할 수 있는데 이걸 만들어주고

ㆍ UpdateData를 FALSE로 해서 윈도우에 반영을 해줘야 한다.

ㆍ 그리고 C++의 선언과 동시에 정의 기능이 저당시엔 없어서 매크로가 자동으로 생성자 초기화를 해버린다.

ㆍ 드래그도 되고 복사도되고 좋다

 

 

#이런게 DDX/DDV 이다

728x90
반응형