Nov 20 2002 10:28 Written by www.anygate.com
1. 무슨 얘기지?
대화상자는 사용자와 프로그램간의 상호 의사전달을 용이하게 하는 도구이다.
사용자의 명령을 처리하기 위해 적당한 정보를 알려주고 또 필요한 정보를 입력받는다.
이 과정에서 대화상자는 모든 정보를 스스로 생성하여 제시하지는 않는다.
대화상자 자체가 프로그램의 부수적인 기능일 뿐이므로
대부분의 정보는 메인 프로그램이 갖게된다.
따라서 대화상자를 호출하기 전에 대화상자에서 필요한 데이터를 전달해 주어야 한다.
(물론 그 데이터가 전역변수라면 상관이 없겠지만...)
여기서 하려는 얘기는 바로 그 전달 방법이다.
2. 가장 일반적인 방법
참고서적의 가장 흔한 주제가 대화상자이고 거기서 빈번하게 사용하는 코드는 다음과 같다.
많이 봤을테니 설명이 필요없겠죠?
3. 생성자를 통해 전달하는 방법
이렇게 하면 더 간단하지 않을까?
그러자면 클래스위저드가 생성해준 대화상자 클래스를 조금 수정해야 한다.
먼저 헤더파일의 클래스 선언중 생성자 원형을 다음과 같이 수정한다.
원래의 생성자는 지워도 되고 그대로 둔 채 새로운 생성자를 추가해도 된다.
다음에 cpp 파일의 정의부분을 수정한다.
마찬가지로 기존의 생성자는 지워도 되고 그대로 둔 채 새로운 생성자함수를 추개해도 된다.
그대로 둘 경우엔 어떤 생성자를 사용해서 대화상자를 호출할 것인가는 프로그래머 맘대로다.
위에서 MYDATA1, MYDATA2는 임의의 데이터형이다.
원래의 형태와 수정된 형태를 잘 비교해 보라.
생성자에 전달하는 인자의 데이터형과 갯수는 제한이 없다.
참, 생성자를 통해 전달된 인수는 생성자 함수 내에서만 유효하므로
생성자에서 대화상자의 적당한 멤버변수에 대입하여 저장해두어야 한다.
(엄청나게 당연한 거지만 왕초보를 위해 덧붙임.)
1. 무슨 얘기지?
대화상자는 사용자와 프로그램간의 상호 의사전달을 용이하게 하는 도구이다.
사용자의 명령을 처리하기 위해 적당한 정보를 알려주고 또 필요한 정보를 입력받는다.
이 과정에서 대화상자는 모든 정보를 스스로 생성하여 제시하지는 않는다.
대화상자 자체가 프로그램의 부수적인 기능일 뿐이므로
대부분의 정보는 메인 프로그램이 갖게된다.
따라서 대화상자를 호출하기 전에 대화상자에서 필요한 데이터를 전달해 주어야 한다.
(물론 그 데이터가 전역변수라면 상관이 없겠지만...)
여기서 하려는 얘기는 바로 그 전달 방법이다.
2. 가장 일반적인 방법
참고서적의 가장 흔한 주제가 대화상자이고 거기서 빈번하게 사용하는 코드는 다음과 같다.
많이 봤을테니 설명이 필요없겠죠?
3. 생성자를 통해 전달하는 방법
이렇게 하면 더 간단하지 않을까?
그러자면 클래스위저드가 생성해준 대화상자 클래스를 조금 수정해야 한다.
먼저 헤더파일의 클래스 선언중 생성자 원형을 다음과 같이 수정한다.
원래의 생성자는 지워도 되고 그대로 둔 채 새로운 생성자를 추가해도 된다.
다음에 cpp 파일의 정의부분을 수정한다.
마찬가지로 기존의 생성자는 지워도 되고 그대로 둔 채 새로운 생성자함수를 추개해도 된다.
그대로 둘 경우엔 어떤 생성자를 사용해서 대화상자를 호출할 것인가는 프로그래머 맘대로다.
위에서 MYDATA1, MYDATA2는 임의의 데이터형이다.
원래의 형태와 수정된 형태를 잘 비교해 보라.
생성자에 전달하는 인자의 데이터형과 갯수는 제한이 없다.
참, 생성자를 통해 전달된 인수는 생성자 함수 내에서만 유효하므로
생성자에서 대화상자의 적당한 멤버변수에 대입하여 저장해두어야 한다.
(엄청나게 당연한 거지만 왕초보를 위해 덧붙임.)
"MFC" 카테고리의 다른 글
- 상태바위에 ProgressBar 올리기 #1 (0)2007/05/17
- 다이얼로그상의 특정 컨트롤의 색상 변경 (0)2007/05/17
- Dialog Box 생성자를 통해 데이터를 전달하는 방법 (0)2007/05/17
- 틀이없는 타이틀 윈도우 만들기. (1)2007/05/17
- CView 에 컨트롤 그리기. (0)2007/05/17

수안이의 컴퓨터 연구실



Leave your greetings.