1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
case ID_OPEN:{
OPENFILENAME ofn;
LPTSTR szFileName = L"";
szFileName = (LPTSTR)GlobalAlloc(GPTR, MAX_PATH);
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.hwndOwner = hwnd;
ofn.lStructSize = sizeof (ofn);
ofn.lpstrFilter = L"Text(*.txt)\0*.txt\0All Files(*.*)\0*.*\0";
ofn.lpstrFile = szFileName;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.lpstrDefExt = L"txt";
if(GetOpenFileName(&ofn)){
HANDLE hFile;
hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
if(dwFileSize != -1)
{
LPTSTR pszFileText;
pszFileText = (LPTSTR)GlobalAlloc(GPTR, dwFileSize + 1);
if(pszFileText != NULL)
{
DWORD dwRead;
if(ReadFile(hFile, pszFileText, dwFileSize, &dwRead, NULL))
{
pszFileText[dwFileSize] = '\0';
SetWindowText(g_edit, pszFileText);
}
GlobalFree(pszFileText);
}
}
CloseHandle(hFile);
}
}
}
break;
|