¿¹Á¦ 6-1) Binary °ª ºÐ¼® 1.¸Þ´º µðÀÚÀÎ 'ºÐ¼®Åø' 'BinaryºÐ¼®' ID_BINARY_VIEW 2.´ÙÀ̾ó·Î±× ¹Ú½º µðÀÚÀÎ 'Binary Viewer" IDD_BINARY_VIEW ÆÄÀÏ À̸§ ¿¡µðÆ® IDC_EDIT_FILE 'ÆÄÀÏ ¼±ÅÃ' ¹öư IDC_BUTTON_FILE '½ÃÀÛÇÒ À§Ä¡' ¿¡µðÆ® IDC_EDIT_START 'ÀÐÀ»BYTE¼ö' ¿¡µðÆ® IDC_EDIT_BYTES 'OK' IDOK (default) 'CANCEL' IDCANCEL (default) 3.´ÙÀ̾ó·Î±× ¹Ú½º ÆÄ»ý Ŭ·¡½º Ãß°¡ : CBinaryViewDlg 4.¸Þ½ÃÁö Çڵ鷯 ÇÔ¼ö ¹× ÄÁÆ®·Ñ ¸â¹ö º¯¼ö Ãß°¡ 1)¸Þ´º ID_BINARY_VIEW OnBinaryView() CImageViewDocŬ·¡½º¿¡ 2)´ÙÀ̾ó·Î±× ¹Ú½º IDC_EDIT_FILE CString m_strFile Max : 100 IDC_BUTTON_FILE OnButtonFile() IDC_EDIT_START UINT m_uStart IDC_EDIT_BYTES UINT m_uBytes 0 ~ 30 5.´ÙÀ̾ó·Î±× ¹Ú½º : ¸Þ½ÃÁö Çڵ鷯 ÇÔ¼ö¿¡ ÄÚµå Ãß°¡ void CBinaryViewDlg::OnButtonFile() { // TODO: Add your control notification handler code here CFileDialog dlgFileOpen(TRUE, "*", NULL, OFN_FILEMUSTEXIST, "All Files(*.*)|*.*||", NULL); if (dlgFileOpen.DoModal() == IDOK) { m_strFile = dlgFileOpen.GetPathName(); UpdateData(FALSE); } } 6.CImageViewDocŬ·¡½º : ¸â¹ö º¯¼ö, ÇÔ¼ö ¹× ¸Þ½ÃÁö Çڵ鷯 ÇÔ¼ö¿¡ ÄÚµå Ãß°¡ 1) cppÆÄÀÏ¿¡ #include "BinaryViewDlg.h" 2) ¸â¹öº¯¼ö Ãß°¡ -´ÙÀ̾ó·Î±× ¹Ú½º ¸â¹öº¯¼ö °ü¸®¿ë UINT m_uBytes; UINT m_uStart; 3) ¸Þ½ÃÁö Çڵ鷯 ÇÔ¼ö¿¡ ÄÚµå Ãß°¡ void CImageTDoc::OnBinaryView() { // TODO: Add your command handler code here CBinaryViewDlg dlg; if (dlg.DoModal() == IDOK) { m_strDfile = dlg.m_strFile; m_uStart = dlg.m_uStart; m_uBytes = dlg.m_uBytes; CFile file; UINT size; file.Open(m_strDfile, CFile::modeRead); size = file.GetLength(); if ((m_uStart+m_uBytes) > size) AfxMessageBox("ÀÔ·Â °ªÀÌ À߸ø µÇ¾ú½À´Ï´Ù."); else { m_pDib = new char[m_uBytes]; file.Seek((m_uStart-1), 0); file.Read(m_pDib,m_uBytes); file.Close(); m_nDRGB = 3; UpdateAllViews(NULL); } } } 7.CImageViewViewŬ·¡½º¿¡ ÄÚµå Ãß°¡ OnDraw()ÇÔ¼ö¿¡ case 3: CString strBinary; for(UINT i=0; im_uBytes; i++) { strBinary.Format("%4d", pDoc->m_pDib[i]); pDC->TextOut(10,15*i, strBinary); } break;