Advertisement
alexx876

Untitled

Dec 8th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1.  
  2. //Функция открытия заголовка с файлом
  3. string OpenFileDialog(string Title, const char* Filter, HWND hWnd)
  4. {
  5.     OPENFILENAME ofn;
  6.     ZeroMemory(&ofn, sizeof(ofn));
  7.     ofn.hInstance = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE),
  8.         ofn.hwndOwner = hWnd;
  9.     ofn.lpstrFilter = Filter;
  10.     ofn.lpstrTitle = Title.c_str();
  11.     ofn.lStructSize = sizeof(ofn);
  12.     char buffer[MAX_PATH];
  13.     ZeroMemory(buffer, MAX_PATH);
  14.     ofn.lpstrFile = buffer;
  15.     ofn.nMaxFile = MAX_PATH;
  16.     ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
  17.     GetOpenFileName(&ofn);
  18.     string OpenName = ofn.lpstrFile;
  19.     return OpenName;
  20. }
  21. //Функция сохранения файла
  22. string SaveFileDialog(string Title, const char* Filter, HWND hWnd)
  23. {
  24.     OPENFILENAME ofn;
  25.     ZeroMemory(&ofn, sizeof(ofn));
  26.     ofn.hInstance = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE),
  27.         ofn.hwndOwner = hWnd;
  28.     ofn.lpstrFilter = Filter;
  29.     ofn.lpstrTitle = Title.c_str();
  30.     ofn.lStructSize = sizeof(ofn);
  31.     char buffer[MAX_PATH];
  32.     ZeroMemory(buffer, MAX_PATH);
  33.     ofn.lpstrFile = buffer;
  34.     ofn.nMaxFile = MAX_PATH;
  35.     ofn.Flags = OFN_PATHMUSTEXIST;
  36.     GetSaveFileName(&ofn);
  37.     string OpenName = ofn.lpstrFile;
  38.     return OpenName;
  39. }
  40. //Функция выбрра папки
  41. string SelectDirDialog(string Title, HWND hWnd)
  42. {
  43.     TCHAR szDir[MAX_PATH];
  44.     BROWSEINFO bInfo;
  45.     bInfo.hwndOwner = hWnd;
  46.     bInfo.pidlRoot = NULL;
  47.     bInfo.pszDisplayName = szDir;
  48.     bInfo.lpszTitle = Title.c_str();
  49.     bInfo.ulFlags = 0;
  50.     bInfo.lpfn = NULL;
  51.     bInfo.lParam = 0;
  52.     bInfo.iImage = -1;
  53.  
  54.     LPITEMIDLIST lpItem = SHBrowseForFolder(&bInfo);
  55.     if (lpItem != NULL)
  56.     {
  57.         SHGetPathFromIDList(lpItem, szDir);
  58.         return szDir;
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement