- 발표ì—� ê¼ ë“¤ì–´ê°€ì•¼ í• ê²ƒë“¤
- 다�얼로그박스가 무엇�가?
- 모달 다�얼로그박스와 모달리스 다�얼로그박스� 차�가 무엇�가?
- 모달 다�얼로그박스는 어떻게 만드나?
- 모달리스 다�얼로그박스는 어떻게 만드나?
- 다�얼로그박스� 있는 컨트롤(버튼, �디오버튼, 체�박스, 리스트박스 등...)� 어떻게 사용하나?
- 다�얼로그박스가 무엇�가?
다ì�´ì–¼ë¡œê·¸ë°•스란? ¶
� 그대로 대화��.
�히 보는 윈�우� 창들중 하나로서,
�히 보는 윈�우� 창들중 하나로서,
대화ìƒ�ìž�(DialogBox)는 최ìƒ�위 윈ë�„ìš°(top-level window)ì�˜ ìž�ì‹� 윈ë�„우로서 ì�¼ë°˜ì �으로 사용ìž�로부터 ì •ë³´ë¥¼ 얻기 위해 사용ë�œë‹¤. Dialog는 사용ìž�들ì�´ 파ì�¼ì�„ ì„ íƒ�하여 열기 등ì�˜ 작업ì�„ 쉽게 하ë�„ë¡� 합니다. 파ì�¼ 작업ì�„ 쉽게하기 위해 ì œê³µí•˜ëŠ” ì»´í�¬ë„ŒíŠ¸ê°€ FileDialogí�´ëž˜ìФì�´ë‹¤. Dialog는 Frame윈ë�„우와 비슷한ë�° ê·¸ ì°¨ì�´ì �ì�„ 살펴보면, 대화ìƒ�ìž�는 윈ë�„ìš°ì—� 종ì†�ì �ì�´ê¸° 때문ì—� ê·¸ 윈ë�„ìš°ê°€ 닫히면 대화ìƒ�ìž�ë�„ ë”°ë�¼ì„œ ê°™ì�´ 닫히게 ë�œë‹¤ëŠ” 것ì�´ë‹¤. ë˜�한 윈ë�„우를 최소화시켜ë�„ 대화ìƒ�ìž�는 사ë�¼ì§€ê²Œ ë�œë‹¤.
-> 만드는 법
1-1 Visual Stdio Microsoft Visual C++ 프로그램� 실행 시킨다
1-2 메뉴ì—� 있는 File ì—�서 New를 ì„ íƒ�ì�„ 하면 대화ìƒ�ìž�ê°€ 나온다.
1-3 대화ìƒ�ìž�ì—�서 MFC AppWizardexe를 ì„ íƒ�ì�„ í•˜ê³ , Location: ì—� 사용ìž�ê°€ ìƒ�ì„±ì‹œí‚¤ê³ ì‹¶ì�€
1-2 메뉴ì—� 있는 File ì—�서 New를 ì„ íƒ�ì�„ 하면 대화ìƒ�ìž�ê°€ 나온다.
1-3 대화ìƒ�ìž�ì—�서 MFC AppWizardexe를 ì„ íƒ�ì�„ í•˜ê³ , Location: ì—� 사용ìž�ê°€ ìƒ�ì„±ì‹œí‚¤ê³ ì‹¶ì�€
ê³³ì—� 경로를 ì„ íƒ�í•˜ê³ , Project name: ì—� 프로ì �트명ì�„ ì �ê³ OK버튼ì�„ 누른다.
1-4 What type of application would you like to create?Single document Multiple documents
Dialog based
ì�´ 부분ì—�서 사용ìž�ê°€ ì„ íƒ�í•˜ê³ ì‹¶ì�€ 것ì�„ ì„ íƒ�ì�„ 한다. ì�´ Test프로그램ì�€ Dialog based를
ì„ íƒ�ì�„ 했다.
Dialog based
ì�´ 부분ì—�서 사용ìž�ê°€ ì„ íƒ�í•˜ê³ ì‹¶ì�€ 것ì�„ ì„ íƒ�ì�„ 한다. ì�´ Test프로그램ì�€ Dialog based를
ì„ íƒ�ì�„ 했다.
모달 다ì�´ì–¼ë¡œê·¸ë°•스와 모달리스 다ì�´ì–¼ë¡œê·¸ë°•스 ¶
Modal Versus Modalless Dialog Boxes
대화���는 modal과 modaless �가지 형태� 대화��가 있다.
대부분ì�˜ 대화ìƒ�ìž�는 modalì�´ë‹¤. modal 대화ìƒ�ìž�는 부모 프로그램ì�´ 계ì†� 실행ë�˜ê¸° 위해서 사용ìž�ì�˜ ì�‘답ì�„ 기다린다. ì�´ ë§�ì�€ modal 대화ìƒ�ìž�는 사용ìž�ì�˜ ìž…ë ¥ 확ì�¸ ì—†ì�´ 부모 프로그램ì�˜ ì–´ë–¤ 부분ë�„ ë�™ìž‘시킬 수 없다. modaless 대화ìƒ�ìž�는 부모 프로그램ì�˜ 실행ì�„ 막지 않는다. ì�´ê²ƒì�€ 다른 부분ì�˜ 프로그램ì�˜ 실행ì�„ 대화장ìž�ê°€ 막지 않는다는 것ì�´ë‹¤. 좀ë�” 쉽게 í’€ì�´ ¶
ëª¨ë“ ëŒ€í™”ìƒ�ìž�는 modalì�´ê±°ë‚˜ modeless형ì‹�ì�´ë‹¤. modal대화ìƒ�ìž�는 대화ìƒ�ìž�ê°€ 활성화 ë�œ 후 ëª¨ë“ ìž‘ì—…ì�€ ì�´ 대화ìƒ�ìž�ì—�서만 ì�´ë£¨ì–´ì§„다는 것ì�´ë‹¤. 즉, 대화ìƒ�ìž�를 ë‹«ì�„ 때까지는 다른 작업ì�€ í• ìˆ˜ 없게 한다. 반대로 modeless대화ìƒ�ìž�는 활성화 ë�œ 후ì—�ë�„ ë˜� 다른 윈ë�„우로 넘어가 작업ì�„ í• ìˆ˜ 있다. 대화ìƒ�ìž�는 기본 default로 modelessì�´ë‹¤.
modal dialogì�˜ 예를 들면 프로그램ì—�서 파ì�¼ì�„ ì €ìž¥í• ë•Œ 화면ì—� 뜨는 Dialog를 들 수 있다.
즉 modal dialog는 ê·¸ dialogê°€ 닫혀지기 ì „ì—�는 부모 윈ë�„우로 마우스를 ì�´ìš©í•œ focusì�´ë�™ì�„ í• ìˆ˜ 없다. ë”°ë�¼ì„œ, dialog를 ë‹«ì§€ 않는 ì�´ìƒ� main window프로그램ì�„ ì�´ìš©í• 수 없다.
modalless dialogì�˜ 예는 글 워드 프로세서ì�˜ 찾기 ì°½ì�„ 들 수 있다. 찾기창ì�„ ë�„ìš´ 후 ì°½ì�„ ë‹«ì§€ 않로서ë�„ 문서편집 작업ì�„ 계ì†�해서 í• ìˆ˜ 있다. ì�´ëŸ¬í•œ ì†�성ì�„ modallessë�¼ê³ 한다.










