Cfile23.uf .121280574D35BF981D6F5E

모덜리스(Modeless) Dialog로 변환하기

이전 시간에 만들었던 모달(Modal) Dialog를 모덜리스(Modeless) Dialog로 변환해 보겠습니다.

Modal Dialog는 Dialog가 실행되는 동안 다른 작업을 하지 못하고, Modeless Dialog는 프로그램 실행 흐름을 방해하지 않는다는 것 정도는 알고 계시죠?

자 그럼 이전 시간 “MFC – Cam 영상 출력해보기(http://deios.kr/420)”에 만들었던 View Dialog를 멋지게 바꿔 보겠습니다.

 

OnCamView함수를 다음과 같이 수정합니다.

void CMFC_OpenCVApp::OnCamView()

{       // TODO: 여기에 명령 처리기 코드를 추가합니다.

        static CViewDlg dlg;

        if( NULL == dlg.GetSafeHwnd()){

                dlg.Create(IDD_CamView);

        }

        dlg.ShowWindow(SW_SHOW);

}

한 App당 한 개의 View Dialog를 가지게 하기 위해서 ViewDlg객체는 정적(static)으로 설정해 줍니다.

 

끝~! 응?

 

Cfile23.uf .121280574D35BF981D6F5E

cfile1.uf.18125D524D35C0750EF462.pdfcfile24.uf.1107B7524D35C0771AE814.zip

Similar Posts

  • Face Detect

    이번 시간은 MFC와 OpenCV의 기본 사용법 마지막 내용이 되겠습니다. Cam 영상을 Dialog에 뿌려주는 부분에서 기본 사용법이 끝났어야 하지만… 조금 아쉬운 관계로 더 진행해 봤죠… 저도 아직 초보단계지만, MFC와 OpenCV의 기본 사용법은 뭐 없습니다… MFC야… GUI프로그래밍을 위해서 그냥 쓴 것이고… OpenCV는 영상을 받아오고, 출력하는 부분만 하면 기본은 끝난거 아닌가요?   지금까지 “오픈소스 OpenCV를 이용한 컴퓨터 비전…

  • OpenCV 파일 저장기능 구현

    “Visual Studio 2010에서 OpenCV MFC 프로젝트 만들기(http://deios.kr/400)”에 이어 이번에는 파일 저장기능을 구현해 보도록 하겠습니다.   파일 열기는 OnOpenDocument()함수를 재정의 했던거 기억하시죠? 마찬가지로 파일 저장은 OnSaveDocument()함수를 재정의 하면 됩니다.   이젠 그림만 봐도 아시겠죠? return CDocument::OnSaveDocument(lpszPathName); 부분을 다음과 같이 수정합니다. USES_CONVERSION; return m_CvvImage.Save(W2A(lpszPathName)); 저번에도 말씀드렸지만 OpenCV 라이브러리가 char *형을 받기 때문에 W2A매크로를 사용해 줍니다. 이번에는 새…

  • Drag and Drop 지원하기

    이번 시간에는 드래그 앤 드롭(Drag & Drop) 기능을 구현해 보도록 하겠습니다. App Class의 InitInstance함수에 다음과 같은 코드를 추가하면 끝~! pMainFrame->DragAcceptFiles();   cfile8.uf.163148404D261B97190741.pdfcfile10.uf.133139404D261B9716AF4E.zip 관련된 글: Visual Studio 2010에서 OpenCV MFC 프로젝트 만들기 OpenCV 파일 저장기능 구현 OpenCV 파일 저장기능 구현2 RGB 컬러 공간 분리 – 메뉴 기반 구현2

  • 정지영상 캡춰기능 구현

    이번 내용도 후딱 넘어가겠습니다. 이전 시간까지 Cam에서 영상을 받아와 Dialog로 뿌려주는 부분을 했었죠? 이번 시간에는 이 동영상의 스틸 컷(Still Cut)을 만들 수 있게 정지영상으로 캡춰하는 기능을 구현해 보도록 하겠습니다. 참고로 동영상으로 저장하고 싶다면 cvReleaseVideoWriter, cvWriteFrame, cvReleaseVideoWriter를 적절하게(?) 쓰시면 됩니다.   정지영상 캡춰기능은 정말 간단합니다. 버튼 하나 만들구요, 그 버튼을 누르면… 전에 만들었던 전역 함수 기억하시죠?…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다