diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-08 14:56:54 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-08 14:56:54 +0300 |
commit | 0df8e1c940479d1d9edd93f95483a5c1180e7bd5 (patch) | |
tree | 392da9b0a5be5777d8113531ddd43dccc80e1014 /utilities.cpp | |
parent | 3777be91f293eac73dad6355eb2c4a6261aad467 (diff) |
modified: options.cpp
modified: utilities.cpp
modified: utilities.h
Diffstat (limited to 'utilities.cpp')
-rw-r--r-- | utilities.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/utilities.cpp b/utilities.cpp index 0654bd6..0e4fc06 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -102,6 +102,31 @@ void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szEx DBWriteContactSettingTString(0, szModuleName, szSetting, str); } +TCHAR *GetFilePath(TCHAR *WindowTittle, TCHAR *szExt, TCHAR *szExtDesc) +{ + TCHAR *str = new TCHAR [MAX_PATH+2]; + OPENFILENAME ofn={0}; + TCHAR filter[512], *pfilter; + ofn.lStructSize=CDSIZEOF_STRUCT(OPENFILENAME,lpTemplateName); + ofn.Flags=OFN_EXPLORER; + ofn.lpstrTitle=TranslateW(WindowTittle); + _tcscpy(filter,TranslateW(szExtDesc)); + pfilter=filter+_tcslen(filter)+1; + _tcscpy(pfilter, szExt); + pfilter[_tcslen(pfilter)+1] = '\0'; + pfilter[_tcslen(pfilter)+2] = '\0'; + ofn.lpstrFilter=filter; + _tcscpy(str, _T("")); + if(_tcslen(str)< 2) + str[0] = '\0'; + ofn.lpstrFile=str; + ofn.nMaxFile=_MAX_PATH; + ofn.nMaxFileTitle=MAX_PATH; + if(!GetOpenFileName(&ofn)) + return _T(""); + return str; +} + void GetFolderPath(TCHAR *WindowTittle, char *szSetting) { BROWSEINFO pbi = {0}; |