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

  • [VS2010]LPCTSTR에서 char*로 형 변환하기

    OpenCV를 가지고 놀고 있는데 이놈이 char *밖에 지원하지 않아서 고생이 많습니다. 소스도 있겠다 확 다 뜯어고쳐버릴까… 라고 생각은 했지만 막상 하려니 엄두가 나질 않네요… 이게 다 실력이 부족해서라는… ㄷㄷㄷ MSDN도 찾아보고 이래저래 해봤지만 파일 경로등 특수문자 or 한글(유니코드)를 포함한 LPCTSTR은 char*형으로 쉽게 변환하지 못했습니다. \는 짤라먹기 일수고 한글은 듣도보도 못한 한자 or 일어로 변환되버렸죠 ㅠㅠ…

  • OpenCV 파일 저장기능 구현2

    “OpenCV 파일 저장기능 구현(http://deios.kr/401)”에 파일 저장기능과 파일 열기기능을 강화해 보도록 하겠습니다.   먼저 “새 이름으로 저장”시 자동으로 확장자를 추가하기 위해서 OnFileSaveAs함수를 수정하겠습니다. 수정 전 CFileDialog dlgFile(TRUE); CString fileName; const int c_cMaxFiles = 100; const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1; dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize); dlgFile.GetOFN().nMaxFile = c_cbBuffSize; int chk = dlgFile.DoModal(); fileName.ReleaseBuffer();…

  • |

    고속 네트워크에서의 메모리 병목 현상

    메모리가 미래 통신에 있어서 병목 지점이 되는 이유를 설명하고 해결 방안을 제시하시오. 1) 메모리는 코드와 데이터를 함께 저장한다. 표현 계층이 개입한다면 메모리 연산이 증가하게 되어 병목 현상이 발생한다. -> 표현계층을 적게 사용한다.2) 각 계층 이동시 메모리 연산 증가. OSI-7-layer에서 각 계층 이동시 메모리 복사가 빈번하게 일어나게 된다. -> shared memory, page remapping, 계층 통합 처리3)…

  • 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매크로를 사용해 줍니다. 이번에는 새…

  • 모든 창 닫기 구현

    이번 시간에는 열려있는 모든 창을 닫는 기능을 구현해 보도록 하겠습니다. 먼저 리소스 뷰를 보기 좋게 꺼내어 두는게 좋겠죠? [보기] → [다른 창] → [리소스 뷰]를 클릭합니다.   이번엔 메뉴 바에 해당 기능을 추가할 예정입니다. 리소스 뷰에서 [Menu] → [IDR_*TYPE]을 선택한 후 그림과 같이 지정합니다. Caption : 모든 창 닫기 ID : ID_FILE_CLOSE_ALL Prompt : 열려진…

답글 남기기

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