bool LoadNewDLL( HWND hWnd, Interface *ip) { TCHAR fullPath[MAX_PATH] = {0}; TCHAR fileTitle[100] = {0}; TCHAR initDir[MAX_PATH] = {0}; FilterList FileFilter; OPENFILENAME ofn; memset(&ofn,0,sizeof(ofn)); ofn.lStructSize = sizeof(OPENFILENAME); // No OFN_ENABLEHOOK ofn.hwndOwner=hWnd; ofn.hInstance=hInstance; #ifdef DESIGN_VER FileFilter.Append(GetString(IDS_MAX_PLUGINS_VIZ)); #else FileFilter.Append(GetString(IDS_MAX_PLUGINS)); #endif // DESIGN_VER FileFilter.Append(_T("*.DL?;*.BM?;*.FLT")); FileFilter.Append(GetString(IDS_ALL_FILES)); FileFilter.Append(_T("*.*")); ofn.lpstrFilter = FileFilter; ofn.lpstrCustomFilter=NULL; ofn.nMaxCustFilter=0; ofn.nFilterIndex=1; ofn.lpstrFile=fullPath; ofn.nMaxFile=500; ofn.lpstrFileTitle = fileTitle; ofn.nMaxFileTitle=99; IPathConfigMgr* manager = IPathConfigMgr::GetPathConfigMgr(); if(manager->GetPlugInEntryCount() > 0) { _tcsncpy(initDir, manager->GetPlugInDir(0), MAX_PATH); ofn.lpstrInitialDir = initDir; } else { ofn.lpstrInitialDir = NULL; } ofn.lpstrTitle = GetString(IDS_CHOOSE_PLUGIN); ofn.Flags = OFN_FILEMUSTEXIST; ofn.FlagsEx = OFN_EX_NOPLACESBAR; fullPath[0]=_T('\0'); GetOpenFileName(&ofn); if(fullPath[0]==_T('\0')){return false;} DllDir* dd = ip->GetDllDirectory(); int dllIndex = dd->FindDllDescFromDllPath(fullPath); if (dllIndex >= 0) { return dd->LoadADll((dd->GetDllDescription(dllIndex)).GetFullPath(), TRUE); } return dd->LoadADll(fullPath, TRUE); }
static void SaveAsColorFile(HWND hWnd) { TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd); if (fileName) _tcscpy(fname,fileName->data()); // RB 10/15/2000: Init directory string if (fdir[0]==_T('\0')) { _tcscpy(fdir, GetCOREInterface()->GetDir(APP_IMAGE_DIR)); } OPENFILENAME ofn; memset(&ofn,0,sizeof(ofn)); FilterList fl; fl.Append(GetString(IDS_RB_COLORCLIPFILES)); fl.Append(_T("*.ccb")); TSTR title = GetString(IDS_RB_SAVECOLOR); ofn.lStructSize = sizeof(OPENFILENAME); // No OFN_ENABLEHOOK ofn.hwndOwner = hWnd; ofn.lpstrFilter = fl; ofn.lpstrFile = fname; ofn.nMaxFile = 256; ofn.lpstrInitialDir = fdir; ofn.Flags = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST; ofn.FlagsEx = OFN_EX_NOPLACESBAR; ofn.lpstrDefExt = _T("ccb"); ofn.lpstrTitle = title; tryAgain: if (GetSaveFileName(&ofn)) { if (DoesFileExist(fname)) { TSTR buf1; TSTR buf2 = GetString(IDS_RB_SAVECOLOR); buf1.printf(GetString(IDS_RB_FILEEXISTS),fname); if (IDYES!=MessageBox( hWnd, buf1,buf2,MB_YESNO|MB_ICONQUESTION)) { goto tryAgain; } } if (!fileName) fileName = new TSTR; *fileName = fname; DLSetWindowLongPtr(hWnd, fileName); SaveColorFile(hWnd,*fileName); } }
BOOL CppOutPickModeCallback::Pick(IObjParam *ip,ViewExp *vpt) { INode *node = vpt->GetClosestHit(); if (node) { static TCHAR fname[256] = {'\0'}; OPENFILENAME ofn; memset(&ofn,0,sizeof(ofn)); FilterList fl; fl.Append( GetString(IDS_RB_CPPFILES)); fl.Append( _T("*.cpp")); TSTR title = GetString(IDS_RB_SAVEOBJECT); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = theCppOut.hPanel; ofn.lpstrFilter = fl; ofn.lpstrFile = fname; ofn.nMaxFile = 256; ofn.lpstrInitialDir = ip->GetDir(APP_EXPORT_DIR); ofn.Flags = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST; ofn.lpstrDefExt = _T("asc"); ofn.lpstrTitle = title; tryAgain: if (GetSaveFileName(&ofn)) { if (DoesFileExist(fname)) { TSTR buf1; TSTR buf2 = GetString(IDS_RB_SAVEOBJECT); buf1.printf(GetString(IDS_RB_FILEEXISTS),fname); if (IDYES!=MessageBox( theCppOut.hPanel, buf1,buf2,MB_YESNO|MB_ICONQUESTION)) { goto tryAgain; } } theCppOut.OutputObject(node,fname); } } return TRUE; }
BOOL RendVueParamDlg::FileBrowse() { int tried = 0; FilterList filterList; HWND hWnd = hPanel; static int filterIndex = 1; OPENFILENAME ofn; TSTR filename; TCHAR fname[512]; TCHAR saveDir[1024]; { TSTR dir; SplitFilename(workFileName, &dir, &filename,NULL); _tcscpy(saveDir,dir.data()); } _tcscpy(fname,filename.data()); _tcscat(fname, VUEEXT); filterList.Append(GetString(IDS_VUE_FILE)); filterList.Append(VUEFILTER); memset(&ofn, 0, sizeof(ofn)); ofn.lStructSize = sizeof(OPENFILENAME); // No OFN_ENABLEHOOK ofn.hwndOwner = hWnd; ofn.hInstance = hInstance; ofn.nFilterIndex = filterIndex; ofn.lpstrFilter = filterList; ofn.lpstrTitle = GetString(IDS_WRITE_VUEFILE); ofn.lpstrFile = fname; ofn.nMaxFile = _countof(fname); Interface *iface = GetCOREInterface(); if(saveDir[0]) ofn.lpstrInitialDir = saveDir; else ofn.lpstrInitialDir = iface->GetDir(APP_SCENE_DIR); if(RunningNewShell()) { ofn.Flags = OFN_HIDEREADONLY | OFN_EXPLORER /* | OFN_ENABLEHOOK | OFN_ENABLETEMPLATE*/; // OFN_OVERWRITEPROMPT; ofn.lpfnHook = NULL;// (LPOFNHOOKPROC)FileHook; ofn.lCustData = 0; // 0 for save, 1 for open // ofn.lpTemplateName = MAKEINTRESOURCE(IDD_EXT_FILE); } else { ofn.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST /* |OFN_ENABLEHOOK | OFN_ENABLETEMPLATE */; ofn.lpfnHook = NULL; // (LPOFNHOOKPROC)PMFileHook; ofn.lCustData = 0; // ofn.lpTemplateName = MAKEINTRESOURCE(IDD_PM_EXT_FILE); } ofn.FlagsEx = OFN_EX_NOPLACESBAR; FixFileExt(ofn,VUEEXT); // add ".vue" if absent while (GetSaveFileName(&ofn)) { FixFileExt(ofn,VUEEXT); // add ".vue" if absent workFileName = ofn.lpstrFile; return TRUE; } return FALSE; }
static void LoadColorFile(HWND hWnd) { // RB 10/15/2000: Init directory string if (fdir[0]==_T('\0')) { _tcscpy(fdir, GetCOREInterface()->GetDir(APP_IMAGE_DIR)); } OPENFILENAME ofn; memset(&ofn,0,sizeof(ofn)); FilterList fl; fl.Append(GetString(IDS_RB_COLORCLIPFILES)); fl.Append(_T("*.ccb")); TSTR title = GetString(IDS_RB_LOADCOLOR); ofn.lStructSize = sizeof(OPENFILENAME); // No OFN_ENABLEHOOK ofn.hwndOwner = hWnd; ofn.lpstrFilter = fl; ofn.lpstrFile = fname; ofn.nMaxFile = 256; ofn.lpstrInitialDir = fdir; ofn.Flags = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST; ofn.FlagsEx = OFN_EX_NOPLACESBAR; ofn.lpstrDefExt = _T("ccb"); ofn.lpstrTitle = title; if (GetOpenFileName(&ofn)) { MaxSDK::Util::TextFile::Reader file; if(!file.Open(fname)) { TSTR buf2 = GetString(IDS_RB_COLORCLIPBOARD); TSTR buf1; buf1.printf(GetString(IDS_RB_CANTOPENFILE),fname); MessageBox(hWnd,buf1,buf2,MB_ICONEXCLAMATION); return; } TSTR colorLine; // pre-R6 for (int i=0; i<12; i++) { int r, g, b; colorLine = file.ReadLine(); if(EOF == _stscanf(colorLine, _T("%d %d %d\n"), &r, &g, &b)) break; Color color(float(r)/255.0f,float(g)/255.0f,float(b)/255.0f); TSTR name; name.printf(GetString(IDS_RB_COLORNUM),i); IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i]),color,name); ReleaseIColorSwatch(cs); } // post-R6 for (int i=0; i<12; i++) { float r, g, b, a; colorLine = file.ReadLine(); if(EOF == _stscanf(colorLine, _T("%f %f %f %f\n"),&r, &g, &b, &a)) break; AColor color(r,g,b,a); TSTR name; name.printf(GetString(IDS_RB_COLORNUM),i); IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i]),color,name); ReleaseIColorSwatch(cs); } file.Close(); TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd); delete fileName; fileName = new TSTR(fname); DLSetWindowLongPtr(hWnd, fileName); SetupTitle(hWnd,*fileName); } }