工作总结:MFC使用Windows自带打开对话框
2014-04-01 21:44
453 查看
代码:
int nStructSize = 76; //Win98 as default LPARAM lModuleParam = 0; TV_INSERTSTRUCT tvItem; CString sPathNameSel; char lpszCurrentDir[1024];//1K ::GetModuleFileName(NULL, lpszCurrentDir, 1024); //Get current directory int n = CString(lpszCurrentDir).ReverseFind('\\'); CString sTemp = CString(lpszCurrentDir).Left(n); STRCPY(lpszCurrentDir, sTemp); CString str("", 1024); /*if (TRUE == bAMT700PrjModify) { bAMT700PrjModify = FALSE; int nAnswer = MxMessageBox(m_hWnd, IDS_SAVEPROJECTORNOT, IDS_CAPTION_NEWPROJECT, MB_YESNO); if (IDYES == nAnswer) { OnBnClickedBtnAmt700PrjSave(); } } */ CFileDialog mFileDlg( TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "IRIS Files (*.ini)|*.ini||", this); //NT does not support mFileDlg.m_ofn.lpstrFile = (LPSTR)(LPCTSTR)str;//.GetBuffer(MERGE_MAX_COUNT_OF_FILE_CAN_SELECT); mFileDlg.m_ofn.lpstrTitle = RESID2LPSTR(IDS_BROWSEFORPROJECT); mFileDlg.m_ofn.lpstrInitialDir = lpszCurrentDir; DWORD dwVersion = GetVersion(); if (dwVersion < 0x80000000) //Windows NT/win2000 { nStructSize = 88; } else //Windows95/98 { nStructSize = 76; } mFileDlg.m_ofn.lStructSize = nStructSize; str.ReleaseBuffer(); if (mFileDlg.DoModal() == IDOK) { POSITION pos = mFileDlg.GetStartPosition(); while (NULL != pos) { m_sPrjPathName = mFileDlg.GetNextPathName(pos); sPathNameSel = mFileDlg.GetFileName(); } CFileFind finder; DWORD dwFindRet; dwFindRet = m_sPrjPathName.Find(".ini"); if (0xffffffff == dwFindRet) { m_sPrjPathName += ".ini"; } dwFindRet = sPathNameSel.Find(".ini"); if (0xffffffff == dwFindRet) { sPathNameSel += ".ini"; } if (!finder.FindFile(m_sPrjPathName)) { MxMessageBox(m_hWnd, IDS_PROJECTNOTEXITS, IDS_CAPTION_OPENPROJECT, MB_ICONERROR); m_sPrjPathName.Empty(); return; } sPathNameSel = sPathNameSel.Left(sPathNameSel.GetLength() - strlen(".ini")); g_prjAMT700.Release(); /*m_treePrj.DeleteAllItems(); m_dlgModule.m_nModuleCount = 0; m_dlgModule.m_bMethod = 1; //add m_dlgAddr.ShowWindow(SW_HIDE); m_dlgModule.ShowWindow(SW_SHOW);*/ //CButton * pBtn = (CButton *)GetDlgItem(IDC_RAD_AMT700_MODULE); //pBtn->ShowWindow(SW_SHOW); //pBtn->SetCheck(1); //pBtn = (CButton *)GetDlgItem(IDC_RAD_AMT700_ADDR); //pBtn->ShowWindow(SW_SHOW); tvItem.hParent = TVI_ROOT; tvItem.hInsertAfter = TVI_ROOT; // tvItem.item.iImage = nImage; // tvItem.item.iSelectedImage = nImage; tvItem.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT | TVIF_PARAM; tvItem.item.pszText = CSTRING_TO_LPSTR sPathNameSel; tvItem.item.lParam = MAKELPARAM(g_prjAMT700.GetModuleCount(), MAKEWORD(1/*PRJ*/, 0));//Prj //m_hPrj = m_treePrj.InsertItem(&tvItem); //m_treePrj.SelectItem(m_hPrj); //if (AMT700_VERSION == iAMTVer) //{ // g_prjAMT700.LoadProject(m_sPrjPathName); // for (int i = 0; i < g_prjAMT700.GetModuleCount(); i++) // { // CModule700 * pTmpModule = g_prjAMT700.GetModuleAt(i); // lModuleParam = MAKELPARAM(i, MAKEWORD(2/*Module*/, 0)); // HTREEITEM hItem = AddModuleItem(m_hPrj, *pTmpModule, lModuleParam); // m_dlgModule.m_nModuleCount++; // for (int j = 0; j < pTmpModule->GetAddrCount(); j++) // { // CAddr700 pTmpAddr; // pTmpModule->GetAddrAtEx(j, &pTmpAddr); // AddAddrItem(hItem, pTmpAddr, MAKELPARAM(j, MAKEWORD(3, 0))); // } // } //} }
相关文章推荐
- 工作总结:MFC调用Windows自带新建、保存对话框代码
- sharepoint 在windows server 2003 使用open with windows exporer 打开时弹出验证对话框
- 使用mfc打开文件对话框
- vs2008 MFC 对话框 grid++ report 使用经验总结
- 【mfc】使用系统文件对话框打开文件与保存文件、利用StdAfx.h设置全局变量
- 工作中关于QT在Windows下QProcess类的与adb使用总结《记录经验》
- Windows环境下使用python selenium 打开Firefox的问题总结
- VS2010MFC对话框程序中使用Windows Media Player播放音频或视频文件
- VB6.0 在代码中直接调用 文件打开对话框,不使用windows控件
- MFC实现Windows自带的任务管理器性能使用记录功能
- 工作总结:VS2010/MFC编程入门之十六(对话框:消息对话框)
- MFC 使用对话框里面打开多个文件
- 在Windows操作系统下使用Visual C++ 6.0编程时,如果点击菜单中的【打开】或者【添加】,或者按快捷键,都会弹出一个对话框,怎么解决?
- windows编程中的单字符和宽字符使用 总结
- Windows 编程之 对话框总结
- 《重装系统后弹出对话框(无法打开这个应用(无法使用内置管理员账户打开xx,请使用其他账户登录,……))》
- MFC中添加工具栏的使用总结
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 使用Windows 7自带工具管理磁盘分区
- windows下 使用ADT Bundle自带Eclipse 配置Cygwin、CDT进行C/C++开发过程