wordpad: Convert open file dialog to Unicode.

This commit is contained in:
Alexander Nicolaysen Sørnes 2007-05-31 15:31:44 +02:00 committed by Alexandre Julliard
parent a747eca83c
commit 69c9565e6f
1 changed files with 25 additions and 31 deletions

View File

@ -46,29 +46,29 @@ static const WCHAR wszAppTitle[] = {'W','i','n','e',' ','W','o','r','d','p','a',
static HWND hMainWnd; static HWND hMainWnd;
static HWND hEditorWnd; static HWND hEditorWnd;
static char szFilter[MAX_STRING_LEN]; static WCHAR wszFilter[MAX_STRING_LEN];
/* Load string resources */ /* Load string resources */
static void DoLoadStrings(void) static void DoLoadStrings(void)
{ {
LPSTR p = szFilter; LPWSTR p = wszFilter;
char files_rtf[] = "*.rtf"; static const WCHAR files_rtf[] = {'*','.','r','t','f','\0'};
char files_txt[] = "*.txt"; static const WCHAR files_txt[] = {'*','.','t','x','t','\0'};
char files_all[] = "*.*"; static const WCHAR files_all[] = {'*','.','*','\0'};
HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE);
LoadString(hInstance, STRING_RICHTEXT_FILES_RTF, p, MAX_STRING_LEN); LoadStringW(hInstance, STRING_RICHTEXT_FILES_RTF, p, MAX_STRING_LEN);
p += strlen(p) + 1; p += lstrlenW(p) + 1;
lstrcpy(p, files_rtf); lstrcpyW(p, files_rtf);
p += strlen(p) + 1; p += lstrlenW(p) + 1;
LoadString(hInstance, STRING_TEXT_FILES_TXT, p, MAX_STRING_LEN); LoadStringW(hInstance, STRING_TEXT_FILES_TXT, p, MAX_STRING_LEN);
p += strlen(p) + 1; p += lstrlenW(p) + 1;
lstrcpy(p, files_txt); lstrcpyW(p, files_txt);
p += strlen(p) + 1; p += lstrlenW(p) + 1;
LoadString(hInstance, STRING_ALL_FILES, p, MAX_STRING_LEN); LoadStringW(hInstance, STRING_ALL_FILES, p, MAX_STRING_LEN);
p += strlen(p) + 1; p += lstrlenW(p) + 1;
lstrcpy(p, files_all); lstrcpyW(p, files_all);
p += strlen(p) + 1; p += lstrlenW(p) + 1;
*p = '\0'; *p = '\0';
} }
@ -175,29 +175,23 @@ static void DoOpenFile(LPCWSTR szOpenFileName)
static void DialogOpenFile(void) static void DialogOpenFile(void)
{ {
OPENFILENAME ofn; OPENFILENAMEW ofn;
char szFile[MAX_PATH] = ""; WCHAR wszFile[MAX_PATH] = {'\0'};
char szDefExt[] = "rtf"; static const WCHAR wszDefExt[] = {'r','t','f','\0'};
ZeroMemory(&ofn, sizeof(ofn)); ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn); ofn.lStructSize = sizeof(ofn);
ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST; ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST;
ofn.hwndOwner = hMainWnd; ofn.hwndOwner = hMainWnd;
ofn.lpstrFilter = szFilter; ofn.lpstrFilter = wszFilter;
ofn.lpstrFile = szFile; ofn.lpstrFile = wszFile;
ofn.nMaxFile = MAX_PATH; ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = szDefExt; ofn.lpstrDefExt = wszDefExt;
if(GetOpenFileName(&ofn)) if(GetOpenFileNameW(&ofn))
{ DoOpenFile(ofn.lpstrFile);
WCHAR szOpenFile[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, ofn.lpstrFile, MAX_PATH, szOpenFile, sizeof(szOpenFile)/sizeof(szOpenFile[0]));
DoOpenFile(szOpenFile);
}
} }
static void DoSaveFile(LPCWSTR wszSaveFileName) static void DoSaveFile(LPCWSTR wszSaveFileName)