BOOL GetSaveFileNameUTF8(LPOPENFILENAME lpofn) { #ifdef WDL_SUPPORT_WIN9X if (GetVersion()&0x80000000) return GetSaveFileNameA(lpofn); #endif return GetOpenSaveFileNameUTF8(lpofn,TRUE); }
void CRIFFChunkTreeDlg::OnSave() { OPENFILENAME ofn; PrepareSimpleDialog(&ofn, *this, "*.txt"); ofn.lpstrFilter = "Text files (*.txt)|*.txt||"; ofn.Flags |= OFN_OVERWRITEPROMPT; if (!GetOpenSaveFileNameUTF8(&ofn, false)) return; CFileStream* destFile = new CFileStream(); if (STREAM_OK == destFile->Open(ofn.lpstrFile, StreamMode::Write)) { CACHE* cache = new CACHE(4, 1<<18); cache->Open(destFile, CACHE_OPEN_WRITE); cache->Write(cUTF8Hdr, 3); RenderItem(cache, m_Tree.GetRootItem(), 0); cache->Close(); delete cache; destFile->Close(); delete destFile; } else { MessageBoxHelper::CouldNotOpenFileForWrite(ofn.lpstrFile); } }
BOOL CVideoSourceListBox::OnCommand(WPARAM wParam, LPARAM lParam) { // TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen CVideoInformationDlg* lpvidlg; int iIndex; VIDEOSOURCE* lpVS; // TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen CWinThread* thread; // CFileDialog* cfd; CAVIMux_GUIDlg* cMainDlg = (CAVIMux_GUIDlg*)GetParent(); char cFilter[256]; std::basic_string<TCHAR> cDefExt; int open = 0; VIDEOSOURCE* v; OPENFILENAME o; memset(&o, 0, sizeof(o)); switch (LOWORD(wParam)) { case IDM_VIDEOINFORMATION: iIndex=GetCurSel(); if (iIndex!=LB_ERR) { lpVS=(VIDEOSOURCE*)GetItemData(iIndex); lpvidlg=new CVideoInformationDlg; lpvidlg->SetVideoSource(lpVS); lpvidlg->DoModal(); delete lpvidlg; } break; case IDM_EXTRACT_BINARY: ZeroMemory(cFilter,sizeof(cFilter)); // ZeroMemory(cDefExt,sizeof(cDefExt)); iIndex = GetCurSel(); if (iIndex == LB_ERR) iIndex = 0; v = (VIDEOSOURCE*)GetItemData(iIndex); strcpy(cFilter,"*.raw|*.raw||"); cDefExt = _T("mp3"); PrepareSimpleDialog(&o, m_hWnd, cFilter); o.Flags |= OFN_OVERWRITEPROMPT; o.lpstrDefExt = cDefExt.c_str(); open = GetOpenSaveFileNameUTF8(&o, 0); if (open) { EXTRACT_THREAD_VIDEO_DATA* lpETD = new EXTRACT_THREAD_VIDEO_DATA; lpETD->file = new CFileStream; if (lpETD->file->Open(o.lpstrFile,STREAM_WRITE)!=STREAM_ERR) { lpETD->dlg = cMainDlg; lpETD->v = v; cMainDlg->m_Prg_Dest_File.SetWindowText(o.lpstrFile); thread=AfxBeginThread((AFX_THREADPROC)ExtractThread,lpETD); } else { CUTF8 message(LoadString(IDS_COULDNOTOPENOUTPUTFILE)); CUTF8 title(LoadString(STR_GEN_ERROR)); MessageBox(message.TStr(), title.TStr(), MB_OK | MB_ICONERROR); //MessageBox(LoadString(IDS_COULDNOTOPENOUTPUTFILE),LoadString(STR_GEN_ERROR), // MB_OK | MB_ICONERROR); } } break; } return CEnhancedListBox::OnCommand(wParam, lParam); }
BOOL GetSaveFileNameUTF8(LPOPENFILENAME lpofn) { if (GetVersion()< 0x80000000)return GetOpenSaveFileNameUTF8(lpofn,TRUE); return GetSaveFileNameA(lpofn); }