[MFC] C를 C++(MFC)로 옮겨보자 (2)

Sireal·2021년 8월 31일
0

C++/Win32/MFC

목록 보기
2/12
post-thumbnail

종료 : OnCloseDocument();

  • 메모리 관리 코드 (Close)

아래화살표 눌러서 재정의

free2D(m_InputImage, m_inH); // 임의로 만들어둔 2차원 free();
free2D(m_OutputImage, m_outH);
CDocument::OnCloseDocument();

종료시 사용했던 메모리를 free해줘야 한다.


Dialog

  • (어느 프로그램이던 기능과 디자인 둘다 신경써야 한다)
  • 우리가 사용할 Dialog 만들기 -> 입력창을 만들어보자

리소스1 더블클릭 Dialog1 만들기 ID입력은 필수 도구상자에서 여러기능 부여 (EditControl, StaticText 사용하였음) StaticText는 Static에서 글 수정 가능 ID입력 필수!!! 해당 Dilog에게 클래스 부여 입력 담당하는 변수 부여 모든 저장은 습관적으로 하기 (Ctrl + Shift + S)


  • 위에서 데이터 입력 창을 다 만들었으니 사용해보자!
    Doc에 우리가 만든 Dilog 헤더를 가져와야함(Doc헤더 아래 해줘야함_순서중요) View에 코드
    Doc에 코드 (방금 선언한 Dialog 클래스의 인스턴스를 활용0)
if (dlg.DoModal() != IDOK) // 화면에 띄우기 _ Modal : 뒤에 화면이 클릭X <-> ModalLess : 전부 클릭가능
	return; // OK 아니면 뒤로 돌아오기
int value = (int)dlg.m_input1; // 대화상자 내에 m_input1 가져오기 

성공


저장 : OnSaveDocument();

CFileDialog SaveDlg(FALSE, L"raw", NULL, OFN_HIDEREADONLY); // Save할때 사용할 Dialog 설정
if (SaveDlg.DoModal() != IDOK)
	return FALSE; // BOOL형식 리턴
CFile File; // 저장할 파일
File.Open(SaveDlg.GetPathName(),CFile::modeCreate | CFile::modeWrite);
for (int i = 0; i < m_outH; i++)
	File.Write(m_OutputImage[i], m_outW);
File.Close();
return CDocument::OnSaveDocument(lpszPathName);

코드 : https://github.com/psh4204/C_MFCs/blob/main/README.md

profile
🚄계속 앞으로🚄

0개의 댓글