Beruflich Dokumente
Kultur Dokumente
h>
#include "Main.h"
HANDLE hFile;
OPEN_EXISTING, 0, 0);
if(hFile != INVALID_HANDLE_VALUE)
DWORD dwFileSize;
if(dwFileSize != 0xFFFFFFFF)
LPSTR pszFileText;
if(pszFileText != NULL)
DWORD dwRead;
if(SetWindowText(hEdit, pszFileText))
bSuccess = TRUE; // It worked!
GlobalFree(pszFileText);
CloseHandle(hFile);
return bSuccess;
HANDLE hFile;
if(hFile != INVALID_HANDLE_VALUE)
DWORD dwTextLength;
dwTextLength = GetWindowTextLength(hEdit);
LPSTR pszText;
if(pszText != NULL)
DWORD dwWritten;
GlobalFree(pszText);
CloseHandle(hFile);
return bSuccess;
OPENFILENAME ofn;
char szFileName[MAX_PATH];
ZeroMemory(&ofn, sizeof(ofn));
szFileName[0] = 0;
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFileName;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = "txt";
if(bSave)
OFN_OVERWRITEPROMPT;
if(GetSaveFileName(&ofn))
{
MB_OK | MB_ICONEXCLAMATION);
return FALSE;
else
if(GetOpenFileName(&ofn))
MB_OK | MB_ICONEXCLAMATION);
return FALSE;
return TRUE;
switch(Message)
case WM_CREATE:
CreateWindow("EDIT", "",
ES_WANTRETURN,
break;
case WM_SIZE:
if(wParam != SIZE_MINIMIZED)
HIWORD(lParam), TRUE);
break;
case WM_SETFOCUS:
SetFocus(GetDlgItem(hwnd, IDC_MAIN_TEXT));
break;
case WM_COMMAND:
switch(LOWORD(wParam))
case CM_FILE_OPEN:
DoFileOpenSave(hwnd, FALSE);
break;
case CM_FILE_SAVEAS:
DoFileOpenSave(hwnd, TRUE);
break;
case CM_FILE_EXIT:
break;
case CM_ABOUT:
MessageBox (NULL, "File Editor for Windows !\n Using the Win32 API" , "About...", 0);
}
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return 0;
WNDCLASSEX WndClass;
HWND hwnd;
MSG Msg;
g_hInst = hInstance;
WndClass.cbSize = sizeof(WNDCLASSEX);
WndClass.style = 0;
WndClass.lpfnWndProc = WndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = g_hInst;
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
WndClass.lpszMenuName = "MAINMENU";
WndClass.lpszClassName = g_szClassName;
if(!RegisterClassEx(&WndClass))
return 0;
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
WS_OVERLAPPEDWINDOW,
if(hwnd == NULL)
return 0;
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg, NULL, 0, 0))
TranslateMessage(&Msg);
DispatchMessage(&Msg);
return Msg.wParam;