[MFC :: OpenGL] Data Dialog 와꾸짜기 (옮김)

심플디 2014.04.25 13:08 조회 수 : 1728

  <그림 1 :: 다이얼로그 등록>


위에 보이는 것은 새로운 프로젝트가 아니다.

PorjectOpenGL의 리소스로 추가시킨 다이얼로그 박스다.


ProjectOpenGL 프로젝트의 리소스 리스트에 다이얼로그를 하나 등록한 다음, <그림 1>과 같이 만들어준다.

다이얼로그의 ID는 ID_DATAVIEW 이다.

그룹 박스 내에서 우측에 위치한 static 컨트롤들은 좌측의 static 컨트롤에 대한 값들을 대변하는 역할을 한다.

값을 띄우기에는 int형이 좋지만, 더 넓은 자유도를 원한다면 기꺼이 CString 변수로 통일시키자.


변수명을 어떻게 짓든 그것은 개인의 자유인데, 필자의 경우는 햇갈리기 싫어서 다음과 같이 그냥 무식하게 제목을 통밥으로 copy시켜 주었다.

CString m_strPath;

CString m_strName;

CString m_strExtention;

(이하 생략)

 

여기에 Report 버튼에 클릭의 이벤트 처리 함수만 등록했다.


물론 추가 할 것이 더 있다. 

하지만, 일단은 이것부터 제대로 동작하게 해보자.


 <그림 2 :: 메시지 등록>


<그림 3>은 Data 메뉴에 대한 메시지 메서드를 생성하는 모습을 보여주고 있다.

이번 경우는, 그냥 다이얼로그를 띄우는것에 의의를 두기 때문에 Doc , View 어디든 선언하는 장소는 그리 큰 의미를 갖지 않는다.

(하지만 각각의 클래스에 담겨있는 변수를 긁어오는 방식은, 분명하게 달라진다.)

참, 리소스-툴바의 아이콘도 만들어놓았다.^^; ID는 메뉴와 툴바의 아이콘이 ID_DA로 똑같다.


< 그림 3 :: 관련 변수 선언 >




<그림 4 :: OnDa - 01>




 <그림 5 :: OnDa - 02>




  <그림 6 :: OnDa - 03>


<그림 3> ~ <그림 6>와 같이 알차게 내용을 담아주었다.

Windows programming에서는 문자열을 대부분 유니코드 형의 TCHAR 형으로 받는다.

그런데 TCHAR는 실수를 한번에 담을 수 없다. (일단 제 상식선에서는 없습니다.)

그래서 char형에 sprintf_s를 사용하여 실수를 담고, for문으로 조져버렸다.


모달다이얼로그를 모달리스다이얼로그로 만드는 방법은 네이버를 참고하였다.



 

 <그림 7 :: 변수 추가>


색상 변수가 어디에 적용되어야 하는지까지, 설명할 필요는 느끼지 못하겠으므로, 관련 스샷은 넘어가겠다. ^^

사실 그렇게 중요한 position을 갖는 변수가 아니기 때문이다...


 <그림 8 :: 리포트 버튼을 클릭했을 때의 메시지 처리>


<그림 8>은 <그림 1>의 Report 버튼을 눌렀을 때의 메시지 처리 과정을 보여주고 있다.

(필자는 개인적으로 이 기능 하나 구현하려고 2틀 밤을 새가며 책, 인터넷을 뒤지고 다녔다.)

보면 Report의 프로젝트 명이 ProjectMFCReport라는 것을 알 수 있다 ^^;


이 소스는 Visual C++ 2008 MFC 시스템 프로그래밍 , MFC v9.0 , 이창현, 혜지원, 의 교제에 있는 예제를 응용해본 것이다.

이 정도만 소스코드화 하면 Data에 관련된 Dialog는 작업을 중지하여도 좋다.


여기까지 하면 아래와 같은 헤더파일을 만들어주자.


 <그림 9 :: 리포트 데이타 타입 설정>

번호 제목 글쓴이 날짜 조회 수
공지 본 게시글의 첨부파일 권한 심플디 2014.08.22 2401
47 [MFC :: OpenGL] 컴공 수업 발표 자료 (옮김) [2] 심플디 2014.04.25 2899
46 [MFC :: OpenGL] Project 시즌 2 후기 (옮김) 심플디 2014.04.25 1585
45 [MFC :: OpenGL] File output (옮김) 심플디 2014.04.25 1519
44 [MFC :: OpenGL] Tool bar(툴바) 편집방법 (옮김) 심플디 2014.04.25 1840
43 [MFC :: OpenGL] IntroPage (옮김) file 심플디 2014.04.25 1518
42 [MFC :: OpenGL] IPC 적용 (옮김) file 심플디 2014.04.25 1574
41 MFC :: OpenGL] ProjectMFCReport 와꾸짜기 (옮김) 심플디 2014.04.25 1734
» [MFC :: OpenGL] Data Dialog 와꾸짜기 (옮김) 심플디 2014.04.25 1728
39 [MFC :: OpenGL] 시즌 2 개요 (옮김) file 심플디 2014.04.25 1515
38 [MFC :: OpenGL] Project 시즌 2 시작 (옮김) [1] 심플디 2014.04.25 1522
37 [MFC :: OpenGL] Project 시즌 1 후기 (옮김) file 심플디 2014.04.25 1584
36 [MFC :: OpenGL] Mesh :: Part 2 (옮김) [1] file 심플디 2014.04.25 1551
35 [MFC :: OpenGL] Mesh :: Part 1 (옮김) file 심플디 2014.04.25 1600
34 [MFC :: OpenGL] DXF :: Part 5 (옮김) file 심플디 2014.04.25 1592
33 [MFC :: OpenGL] DXF :: Part 4 (옮김) file 심플디 2014.04.25 1490
32 [MFC :: OpenGL] DXF :: Part 3 (옮김) file 심플디 2014.04.25 1466
31 [MFC :: OpenGL] DXF :: Part 2 (옮김) file 심플디 2014.04.25 1523
30 [MFC :: OpenGL] DXF :: Part 1 (옮김) file 심플디 2014.04.25 1566
29 [MFC :: OpenGL] Proposal 및 앞으로의 계획 (옮김) 심플디 2014.04.25 1557