정보: MFC 라이브러리 모덜리스 대화 상자 만들기

기술 자료 번역 기술 자료 번역
기술 자료: 103788 - 이 문서가 적용되는 제품 보기.
이 문서에서는 MFC를 사용하여 대화 상자 템플릿 리소스를 사용하여 모덜리스 대화 상자를 만드는 방법을 보여 줍니다.

CModeless 대화 상자를 만들려면 다음 단계는 따라야 합니다.

  1. CDialog에서 파생된 대화 상자 클래스를 만들고 CDialog Create() 멤버 함수를 재정의하십시오. 예를 들어, 다음과 같은 코드가 있을 수 있습니다:
          class CModeless: public CDialog
               {
                 .
                 .
                 .
                 public:
                     CModeless(){ }
                     BOOL Create(UINT nID, CWnd * pWnd)
                          { return CDialog::Create(nID,pWnd);}
                 .
                 .
                 .
               };
    				
    참고: 클래스 대화 상자 클래스를 생성하고 Create() 함수를 간단하게 추가할 수 있습니다.
  2. 대화 클래스 개체를 생성하고 대화 상자 창을 만들기 위한 코드를 작성하십시오. 예를 들어, 대화 상자를 표시할 메뉴 항목이 있는 경우 다음과 같은 코드가 있을 수 있습니다:
          void CMainFrame::OnModeless()
            {
                pdlg = new CModeless;
                pdlg->Create(IDD_DIALOG1,this);
            }
    				
    CMainFrame::pdlg 같이 정의됩니다.
    CModeless * pdlg;
    참고: 중요한 모덜리스 대화 상자 함수는 마치고 소멸된 못하게 하려면 힙이 아니라 스택에 개체를 할당할 수 있습니다.
  3. CWnd::DestroyWindow() OnCancel, 또는 모덜리스 대화 상자가 소멸될 때마다 호출해야 합니다.
          void CModeless::OnCancel()
          {
              DestroyWindow();
          }
    				
  4. 대화 상자 개체 삭제 대화 상자 클래스에 CWnd::PostNcDestroy() 재정의:
       virtual void CModeless::PostNcDestroy() {delete this;}
    				
    PostNcDestroy() OnNcDestroy() 함수에서 호출한 CWnd 클래스의 가상 멤버 함수입니다.
모덜리스 대화 상자 클래스에 있는 OnOK() 재정의하여 및 OnCancel() DestroyWindow() 호출할 함수 멤버와 기본 클래스 CDialog::OnOK() 및 CDialog::OnCancel() 함수를 호출해야 합니다. EndDialog() CDialog::OnOK() 및 CDialog::OnCancel() 함수를 호출합니다. 모달 대화 상자를 사용하면 EndDialog() 호출해야 합니다.

대화 상자 데이터 Exchange (DDX) 및 DDV (대화 상자 데이터 유효성 검사) 사용하는 경우 대화 상자 클래스에 다음과 유사할 수에 대한 OnOK() 처리기 당신은:
   void CModeless::OnOK()
   {
           if (!UpdateData(TRUE))
             {
               TRACE0("UpdateData failed during dialog termination\n");
               // The UpdateData routine will set focus to correct item
               return;
             }
           DestroyWindow();
   }
		
모두 확대 | 모두 축소

속성

기술 자료: 103788 - 마지막 검토: 2006년 11월 21일 화요일 - 수정: 3.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Foundation Class Library 4.2?을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Standard Edition
키워드:?
kbmt kbdlg kbinfo kbuidesign KB103788 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com