1 #include "precomp.h" 2 3 static OPENFILENAME ofn; 4 5 /* 6 * Initialize file open / save structure 7 */ 8 VOID FileInitialize(HWND hwnd) 9 { 10 ZeroMemory(&ofn, sizeof(ofn)); 11 ofn.lStructSize = sizeof(OPENFILENAME); 12 ofn.hwndOwner = hwnd; 13 ofn.nMaxFile = MAX_PATH; 14 ofn.nMaxFileTitle = MAX_PATH; 15 ofn.lpstrDefExt = _T("bmp"); 16 } 17 18 19 static BOOL 20 DoWriteFile(LPCTSTR pszFileName) 21 { 22 return TRUE; 23 } 24 25 26 BOOL 27 DoOpenFile(HWND hwnd, 28 LPTSTR szFileName, 29 LPTSTR szTitleName) 30 { 31 DWORD err; 32 33 static TCHAR Filter[] = _T("All documents (*.txt,*.rtf)\0*.txt;*.rtf\0") \ 34 _T("Rich Text Document (*.rtf)\0*.rtf\0") \ 35 _T("Text Document (*.txt)\0*.txt\0"); 36 37 38 ofn.lpstrFilter = Filter; 39 ofn.lpstrFile = szFileName; 40 ofn.lpstrFileTitle = szTitleName; 41 ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; 42 43 if (GetOpenFileName(&ofn)) 44 { 45 return TRUE; 46 } 47 48 err = CommDlgExtendedError(); 49 50 if (err != CDERR_GENERALCODES) 51 MessageBox(NULL, _T("Open file failed"), NULL, 0); 52 53 return FALSE; 54 } 55 56 57 58 BOOL 59 DoSaveFile(HWND hwnd) 60 { 61 TCHAR szFileName[MAX_PATH] = _T(""); 62 static TCHAR Filter[] = _T("Rich Text Document (*.rtf)\0*.rtf\0") \ 63 _T("Text Document (*.txt)\0*.txt\0"); 64 65 ofn.lpstrFilter = Filter; 66 ofn.lpstrFile = szFileName; 67 ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT; 68 69 if (GetSaveFileName(&ofn)) 70 { 71 if (DoWriteFile(szFileName)) 72 return TRUE; 73 } 74 75 if (CommDlgExtendedError() != CDERR_GENERALCODES) 76 MessageBox(NULL, _T("Save to file failed"), NULL, 0); 77 78 return FALSE; 79 } 80 81