// NeroDlg1.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "NeroDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //#pragma comment(lib, "NeroAPIGlue.lib") ///////////////////////////////////////////////////////////////////////////// // CNeroDlg dialog IDC_CHECK5 CNeroDlg* pDlg; CNeroDlg::CNeroDlg(CWnd* pParent /*=NULL*/) : CDialog(CNeroDlg::IDD, pParent) { //{{AFX_DATA_INIT(CNeroDlg) m_bFromDir = 0; m_bDvd = 0; m_checkphoto1 = 1; m_checkphoto2 = FALSE; m_checkphoto3 = FALSE; m_checkphoto4 = FALSE; m_checkphoto5 = FALSE; m_checkphoto6 = FALSE; //}}AFX_DATA_INIT pDlg=this; NowDoingBurn=false; m_nphotos=0; m_nspase=0; m_nphotos1=0; m_nspase1=0; m_nphotos2=0; m_nspase2=0; m_nphotos3=0; m_nspase3=0; m_nphotos4=0; m_nspase4=0; m_nphotos5=0; m_nspase5=0; m_nphotos6=0; m_nspase6=0; CString version = _T ("Version 1.0"); m_bScale=AfxGetApp()->GetProfileInt (version, "cutphoto", 1); m_bDvd=AfxGetApp()->GetProfileInt (version, "bDvd", 0); m_checkphoto1=AfxGetApp()->GetProfileInt (version, "m_checkphoto1", 1); m_checkphoto2=0;//AfxGetApp()->GetProfileInt (version, "m_checkphoto2", 0); m_checkphoto3=0;//AfxGetApp()->GetProfileInt (version, "m_checkphoto3", 0); m_checkphoto4=AfxGetApp()->GetProfileInt (version, "m_checkphoto4", 0); m_checkphoto5=AfxGetApp()->GetProfileInt (version, "m_checkphoto5", 0); m_checkphoto6=AfxGetApp()->GetProfileInt (version, "m_checkphoto6", 0); } void CNeroDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CNeroDlg) DDX_Control(pDX, IDC_COMBO1, m_combo1); DDX_Control(pDX, IDC_PROGRESS1, m_Progress); DDX_Radio(pDX, IDC_RADIO3, m_bFromDir); DDX_Radio(pDX, IDC_RADIO1, m_bDvd); DDX_Check(pDX, IDC_CHECK1, m_checkphoto1); DDX_Check(pDX, IDC_CHECK2, m_checkphoto2); DDX_Check(pDX, IDC_CHECK3, m_checkphoto3); DDX_Check(pDX, IDC_CHECK4, m_checkphoto4); DDX_Check(pDX, IDC_CHECK5, m_checkphoto5); DDX_Check(pDX, IDC_CHECK6, m_checkphoto6); DDX_Check(pDX, IDC_CHECK7, m_bScale); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CNeroDlg, CDialog) //{{AFX_MSG_MAP(CNeroDlg) ON_BN_CLICKED(IDC_RADIO3, OnRadio3) ON_BN_CLICKED(IDC_RADIO4, OnRadio4) ON_BN_CLICKED(IDC_BUTchoosedir, OnBUTchoosedir) ON_BN_CLICKED(IDC_CHECK1, OnCheck1) ON_BN_CLICKED(IDC_CHECK2, OnCheck2) ON_BN_CLICKED(IDC_CHECK3, OnCheck3) ON_BN_CLICKED(IDC_CHECK4, OnCheck4) ON_BN_CLICKED(IDC_CHECK5, OnCheck5) ON_BN_CLICKED(IDC_CHECK6, OnCheck6) ON_BN_CLICKED(IDC_CHECK7, OnCheck7) ON_CBN_CLOSEUP(IDC_COMBO1, OnCloseupCombo1) ON_BN_CLICKED(IDC_RADIO1, OnRadio1) ON_BN_CLICKED(IDC_RADIO2, OnRadio2) ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CNeroDlg message handlers BOOL CNeroDlg::OnInitDialog() { CDialog::OnInitDialog(); m_Progress.SetRange(0,100); EnableCtrls(); CString filter="id='"+m_id+"'"; g_sendhead.bsql=0; g_sendhead.code[0]=50; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0) { return 1; } CArraysparray; DataToArray( &sparray); CString str,spname; CStringArray spnamearray; for(int i=0; iGetProfileInt (version, "cutphotosize", 2); m_combo1.SetCurSel (pos); if(m_checkphoto1)OnCheck1(); if(m_checkphoto2)OnCheck2(); if(m_checkphoto3)OnCheck3(); if(m_checkphoto4)OnCheck4(); if(m_checkphoto5)OnCheck5(); if(m_checkphoto6)OnCheck6(); CenterWindow (); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } bool NERO_CALLBACK_ATTR CNeroDlg::IdleCallback(void *pUserData) { static MSG msg; while (! ::PeekMessage(&msg,NULL,NULL,NULL,PM_NOREMOVE)) { if (!AfxGetThread()->PumpMessage()) { break; } } return false; } NeroUserDlgInOut NERO_CALLBACK_ATTR CNeroDlg::UserDialog(void *pUserData, NeroUserDlgInOut type, void *data) { switch (type) { case DLG_AUTO_INSERT: return DLG_RETURN_CONTINUE; break; case DLG_DISCONNECT_RESTART: return DLG_RETURN_ON_RESTART; break; case DLG_DISCONNECT: return DLG_RETURN_CONTINUE; break; case DLG_AUTO_INSERT_RESTART: return DLG_RETURN_EXIT; break; case DLG_RESTART: return DLG_RETURN_EXIT; break; case DLG_SETTINGS_RESTART: return DLG_RETURN_CONTINUE; break; case DLG_OVERBURN: return DLG_RETURN_TRUE; break; case DLG_AUDIO_PROBLEMS: return DLG_RETURN_EXIT; break; case DLG_FILESEL_IMAGE: { // create filter for image files // create a CFileDialog object. // usage : CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, // DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, // CWnd* pParentWnd = NULL ); // // bOpenFileDialog = TRUE, create a File Open dialog // lpszDefExt = NULL, do not automatically append a file extension // dwFlags = OFN_OVERWRITEPROMPT, makes no sense during file open, // just in case we decide to use File Save later // szFilter = "Image Files (*.nrg)|*.nrg|All Files (*.*)|*.*||" // pParentWnd = ((CNeroFiddlesDlg*)pUserData), our current Dialog window is the parent // user canceled, do not proceed with the burn process return DLG_BURNIMAGE_CANCEL; } break; case DLG_WAITCD: { AfxMessageBox("光盘不为空或类型错误"); return DLG_RETURN_EXIT; break; } default: break; } // return DLG_RETURN_EXIT; } BOOL NERO_CALLBACK_ATTR CNeroDlg::ProgressCallback(void *pUserData, DWORD dwProgressInPercent) { ((CNeroDlg*)pUserData)->m_Progress.SetPos(dwProgressInPercent); return true; } BOOL NERO_CALLBACK_ATTR CNeroDlg::AbortedCallback(void *pUserData) { return false; return true; } void NERO_CALLBACK_ATTR CNeroDlg::AddLogLine(void *pUserData, NERO_TEXT_TYPE type, const char *text) { //((CNeroMFCappDlg*)pUserData)->AppendString("Log line:" +(CString)*text); return; } void NERO_CALLBACK_ATTR CNeroDlg::SetPhaseCallback(void *pUserData, const char *text) { return; } CString GetFileNameFromPath(CString path) { path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.Find ('.')); return path; } void CNeroDlg::GenSPhoto(CString dir, CStringArray &array, DWORD &nNeedSpase, BOOL bCheckNo) { using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(dir), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); CString str; for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(str.GetAt (str.ReverseFind ('\\')+1)=='s')continue; if(str.GetAt (str.ReverseFind ('\\')+1)=='m')continue; if(str.Right (2)=="ok")continue; if(bCheckNo) { if(::FindArray (&m_noarray, GetFileNameFromPath(str))==-1) continue; } if(m_bScale ) { if(str.Find ("客户原片")!=-1 || str.Find ("\\修好的片")!=-1) { if(::FindArray (&m_noarray, GetFileNameFromPath(str))!=-1) { array.Add (str); CFile fp; fp.Open (str, CFile::modeRead); nNeedSpase+=fp.GetLength (); fp.Close (); } } else { array.Add (str); CFile fp; fp.Open (str, CFile::modeRead); nNeedSpase+=fp.GetLength (); fp.Close (); } } else array.Add (str); } } void CNeroDlg::GenSPhoto(CString dir, CString sType, CStringArray &array, CStringArray &dirarray) { using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(dir), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); CString str; for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(str.GetAt (str.ReverseFind ('\\')+1)=='s')continue; if(str.GetAt (str.ReverseFind ('\\')+1)=='m')continue; if(str.Right (2)=="ok")continue; if(m_bScale && (sType=="(初修)"||sType=="(原片)") ) { if(::FindArray (&m_noarray, GetFileNameFromPath(str))==-1) { ::CreateDirectory (g_mainpath+"\\temp", NULL); ::CreateDirectory (g_mainpath+"\\temp\\"+m_id+"(未选的照片)", NULL); CString dir; dir=g_mainpath+"\\temp\\"+m_id+"(未选的照片)\\"+sType; ::CreateDirectory(dir, NULL); array.Add (str); dirarray.Add (dir); /* Image *img=NULL; 没有找到 ::LoadImageFromBuf (&img, str); if(img->GetWidth()) { CRect rc(0,0,800,800); RectFitDes(img->GetWidth(), img->GetHeight(), rc); Image *simg= img->GetThumbnailImage(rc.Width (), rc.Height (), NULL, NULL); Graphics graphic(simg);//防止GetThumbnailImage影响质量 graphic.DrawImage(img, 0,0,simg->GetWidth(), simg->GetHeight() ); delete img; ::SaveImageToFile(simg, dir+"\\"+::GetFileNameFromPath (str)+".jpg"); delete simg; }*/ } } } } int GetChildCount(CString str, CStringArray &array) { CString dirname=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1); int count=array.GetSize (); CString temp; for(int i=0; iEnableWindow(!m_bFromDir); GetDlgItem(IDC_CHECK2)->EnableWindow(!m_bFromDir); GetDlgItem(IDC_CHECK3)->EnableWindow(!m_bFromDir); GetDlgItem(IDC_CHECK4)->EnableWindow(!m_bFromDir); GetDlgItem(IDC_CHECK5)->EnableWindow(!m_bFromDir); GetDlgItem(IDC_CHECK6)->EnableWindow(!m_bFromDir); GetDlgItem(IDC_BUTchoosedir)->EnableWindow(m_bFromDir); } void CNeroDlg::OnRadio3() { // TODO: Add your control notification handler code here UpdateData(); EnableCtrls(); } void CNeroDlg::OnRadio4() { // TODO: Add your control notification handler code here OnRadio3(); } void CNeroDlg::OnBUTchoosedir() { // TODO: Add your control notification handler code here CString dir; GetSavePath(dir); dir.IsEmpty(); GetDlgItem(IDC_EDIT1)->SetWindowText(dir); m_photoarray7.RemoveAll (); CString path; path =dir; CStringArray dirarray; CString str; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(FindArray(&dirarray, str)==-1) { dirarray.Add (str); } } for(int i=0; iSetWindowText(str); } void CNeroDlg::OnCheck1() { // TODO: Add your control notification handler code here UpdateData(); if(m_checkphoto1) { if(m_photoarray1.GetSize ()==0) { CString path; path=g_path4+"\\"; path+=m_id; path +="\\"; m_realpath=g_path4; CStringArray dirarray; CString str; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(FindArray(&dirarray, str)==-1) { dirarray.Add (str); } } for(int i=0; iSetWindowText(str); m_nphotos=m_nphotos1+m_nphotos2+m_nphotos3+m_nphotos4+m_nphotos5+m_nphotos6; m_nspase=(m_nspase1+m_nspase2+m_nspase3+m_nspase4+m_nspase5+m_nspase6)/(1024*1024); } void CNeroDlg::OnCheck2() { // TODO: Add your control notification handler code here UpdateData(); if(m_checkphoto2) { if(m_checkphoto5) m_checkphoto5=0; UpdateData(false); OnCheck5(); if(m_photoarray2.GetSize ()==0) { CString path; path=g_path2+"\\"; path+=m_id; path +="\\"; CString str; if(m_noarray.GetSize ()==0) { AfxMessageBox("此单未选片!", MB_ICONINFORMATION); return; } for(int i=0; iSetWindowText(str); m_nphotos=m_nphotos1+m_nphotos2+m_nphotos3+m_nphotos4+m_nphotos5+m_nphotos6; m_nspase=(m_nspase1+m_nspase2+m_nspase3+m_nspase4+m_nspase5+m_nspase6)/(1024*1024); } void CNeroDlg::OnCheck3() { // TODO: Add your control notification handler code here /* UpdateData(); if(m_checkphoto3) { if(m_checkphoto4) m_checkphoto4=0; UpdateData(false); OnCheck4(); if(m_photoarray3.GetSize ()==0) { CString path; path=g_path1+"\\"; path+=m_id; path +="\\"; if(m_noarray.GetSize ()==0) { AfxMessageBox("此单未选片!", MB_ICONINFORMATION); return; } CString str; for(int i=0; iSetWindowText(str); m_nphotos=m_nphotos1+m_nphotos2+m_nphotos3+m_nphotos4+m_nphotos5+m_nphotos6; m_nspase=(m_nspase1+m_nspase2+m_nspase3+m_nspase4+m_nspase5+m_nspase6)/(1024*1024); */ } void CNeroDlg::OnCheck4() { // TODO: Add your control notification handler code here UpdateData(); if(m_checkphoto4) { /* if(m_checkphoto3) m_checkphoto3=0; UpdateData(false); OnCheck3();*/ if(m_photoarray4.GetSize ()==0) { CString path; path=g_path1+"\\"; path+=m_id; path +="\\"; CStringArray dirarray; CString str; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(FindArray(&dirarray, str)==-1) { dirarray.Add (str); } } for(int i=0; iSetWindowText(str); m_nphotos=m_nphotos1+m_nphotos2+m_nphotos3+m_nphotos4+m_nphotos5+m_nphotos6; m_nspase=(m_nspase1+m_nspase2+m_nspase3+m_nspase4+m_nspase5+m_nspase6)/(1024*1024); } void CNeroDlg::OnCheck5() { // TODO: Add your control notification handler code here UpdateData(); if(m_checkphoto5) { if(m_checkphoto2) m_checkphoto2=0; UpdateData(false); OnCheck2(); if(m_photoarray5.GetSize ()==0) { CString path; path=g_path2+"\\"; path+=m_id; path +="\\"; CStringArray dirarray; CString str; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(FindArray(&dirarray, str)==-1) { dirarray.Add (str); } } for(int i=0; iSetWindowText(str); m_nphotos=m_nphotos1+m_nphotos2+m_nphotos3+m_nphotos4+m_nphotos5+m_nphotos6; m_nspase=(m_nspase1+m_nspase2+m_nspase3+m_nspase4+m_nspase5+m_nspase6)/(1024*1024); } void CNeroDlg::OnCheck6() { // TODO: Add your control notification handler code here UpdateData(); if(m_checkphoto6) { if(m_photoarray6.GetSize ()==0) { CString path; path=g_path3+"\\"; path+=m_id; path +="\\"; CStringArray dirarray; CString str; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(FindArray(&dirarray, str)==-1) { dirarray.Add (str); } } for(int i=0; iSetWindowText(str); m_nphotos=m_nphotos1+m_nphotos2+m_nphotos3+m_nphotos4+m_nphotos5+m_nphotos6; m_nspase=(m_nspase1+m_nspase2+m_nspase3+m_nspase4+m_nspase5+m_nspase6)/(1024*1024); } void CNeroDlg::GetNo(CString str, CStringArray &array) { if(!str.IsEmpty ()) { int pos=str.Find (","); while(pos!=-1) { if(FindArray(&array, str.Left (pos))==-1) array.Add (str.Left (pos)); str=str.Right (str.GetLength ()-pos-1); pos=str.Find (","); } if(FindArray(&array, str)==-1) array.Add(str); } } extern bool SleepEx( DWORD dwMilliseconds ); void CNeroDlg::OnOK() { ::DeleteDirectory (g_mainpath+"\\temp"); ::CreateDirectory (g_mainpath+"\\temp", NULL); UpdateData(); if(m_bScale) { if(!CheckDiskSpase())return; } if(m_nphotos==0) { AfxMessageBox("未选中照片!", MB_ICONSTOP); return; } if(m_nspase>650 && m_bDvd==0 && m_bScale==0) { AfxMessageBox("光盘空间不足!", MB_ICONSTOP); return; } m_Burn.m_DirArray.RemoveAll (); m_Burn.m_DirRealNameArray.RemoveAll (); CArraybIsSelectDirArray; GetDlgItem(IDOK)->SetWindowText("刻录中, 请稍候..."); GetDlgItem(IDOK)->EnableWindow(0); if(NowDoingBurn) return; CStringArray dirarray; using namespace helper_coffs; CStringArray srcarray; if(m_bFromDir) { CString str; GetDlgItemText(IDC_EDIT1, str); str.TrimRight ('\\'); m_Burn.m_DirArray.Add (str); m_Burn.m_DirRealNameArray.Add (str); bIsSelectDirArray.Add (0); } else { if(m_checkphoto1) { if( m_realpath==g_path1 && m_checkphoto4)//没有精修片用原片代替,同时又要刻原片时, 把原片备份出来 { SetDlgItemText(IDC_STATICTip, "照片复制中..."); m_Progress.SetRange (0, m_photoarray1.GetSize ()); CString path=g_mainpath+"\\temp\\"+m_id+"(精修)"; ::CreateDirectory (path, NULL); CString str; for(int i=0; iGetWidth()) { CRect rc(0,0,800,800); if(pos==0) { rc.right =1600; rc.bottom =1600; } else if(pos==1) { rc.right =1024; rc.bottom =1024; } else if(pos==2) { rc.right =800; rc.bottom =800; } else { rc.right =640; rc.bottom =640; } RectFitDes(img->GetWidth(), img->GetHeight(), rc); Image *simg= img->GetThumbnailImage(rc.Width (), rc.Height (), NULL, NULL); Graphics graphic(simg);//防止GetThumbnailImage影响质量 graphic.DrawImage(img, 0,0,simg->GetWidth(), simg->GetHeight() ); delete img; CString savepath=dir+"\\"+::GetFileNameFromPath (str)+".jpg"; ::SaveImageToFile(simg, savepath); delete simg; CFile fp; if(fp.Open (savepath, CFile::modeRead)) { nNeedSpase+=fp.GetLength (); fp.Close (); } else { /* ::CopyFile (str, savepath, 0); if(fp.Open (savepath, CFile::modeRead)) { nNeedSpase+=fp.GetLength (); fp.Close (); }*/ str.Format ("原片%s裁剪失败, 请查看此照片是否损坏。", savepath.Right (savepath.GetLength ()-savepath.ReverseFind ('\\')-1)); AfxMessageBox(str); } } m_Progress.SetPos (i+1); ::SleepEx(10); } if(::CheckFolderFileExist (g_mainpath+"\\temp\\"+m_id+"(未选的照片)")) { m_Burn.m_DirArray.Add (g_mainpath+"\\temp\\"+m_id+"(未选的照片)"); m_Burn.m_DirRealNameArray.Add (g_mainpath+"\\temp\\"+m_id+"(未选的照片)"); bIsSelectDirArray.Add (0); } } SetDlgItemText(IDC_STATICTip, "光盘刻录中..."); CString str; CArraybIsSelectDirArray2; for(int i=0; i650 && m_bDvd==0) { AfxMessageBox("光盘空间不足!", MB_ICONSTOP);delete []photosarray; return; } } m_Burn.m_pDir=&dirarray; m_Burn.m_pPhotoArray=photosarray; if(m_Burn.NeroAPIInit()==0) { m_Burn.NeroWorkError=1; delete []photosarray; return; } m_Burn.m_name=m_name; m_Burn.m_bDvd=m_bDvd; m_Burn.NeroAPIBurn(); NowDoingBurn=true; delete []photosarray; ::DeleteDirectory (g_mainpath+"\\temp"); if(m_Burn.NeroWorkError==0) { CDialog::OnOK (); } else CDialog::OnCancel (); } void CNeroDlg::OnCheck7() { // TODO: Add your control notification handler code here UpdateData(); CString version = _T ("Version 1.0"); AfxGetApp()->WriteProfileInt (version, "cutphoto", m_bScale); } BOOL CNeroDlg::CheckDiskSpase() { CString sDrive = g_mainpath.Left(2); DWORD dwTotalDiskSpace,dwFreeDiskSpace,dwUsedDiskSpace; ULARGE_INTEGER uiFreeBytesAvailableToCaller; ULARGE_INTEGER uiTotalNumberOfBytes; ULARGE_INTEGER uiTotalNumberOfFreeBytes; if(GetDiskFreeSpaceEx(sDrive, &uiFreeBytesAvailableToCaller, &uiTotalNumberOfBytes, &uiTotalNumberOfFreeBytes)) { dwTotalDiskSpace = (DWORD)(uiTotalNumberOfBytes.QuadPart / 1024 / 1024); dwFreeDiskSpace = (DWORD)(uiFreeBytesAvailableToCaller.QuadPart >> 20); dwUsedDiskSpace = dwTotalDiskSpace - dwFreeDiskSpace; } if(dwFreeDiskSpace>600)return 1; AfxMessageBox("磁盘空间不足!", MB_ICONSTOP); return 0; } void CNeroDlg::OnCloseupCombo1() { // TODO: Add your control notification handler code here int pos=m_combo1.GetCurSel (); if(pos!=-1) { CString version = _T ("Version 1.0"); AfxGetApp()->WriteProfileInt (version, "cutphotosize", pos); } } void CNeroDlg::OnRadio1() { // TODO: Add your control notification handler code here OnRadio2(); } void CNeroDlg::OnRadio2() { // TODO: Add your control notification handler code here UpdateData(); CString version = _T ("Version 1.0"); AfxGetApp()->WriteProfileInt (version, "bDvd", m_bDvd); } void CNeroDlg::OnDestroy() { UpdateData(); CString version = _T ("Version 1.0"); AfxGetApp()->WriteProfileInt (version, "m_checkphoto1", m_checkphoto1); AfxGetApp()->WriteProfileInt (version, "m_checkphoto2", m_checkphoto2); AfxGetApp()->WriteProfileInt (version, "m_checkphoto3", m_checkphoto3); AfxGetApp()->WriteProfileInt (version, "m_checkphoto4", m_checkphoto4); AfxGetApp()->WriteProfileInt (version, "m_checkphoto5", m_checkphoto5); AfxGetApp()->WriteProfileInt (version, "m_checkphoto6", m_checkphoto6); // TODO: Add your message handler code here CDialog::OnDestroy(); }