1 #include "precomp.h" 2 3 HINSTANCE hInstance; 4 HANDLE ProcessHeap; 5 6 int WINAPI 7 _tWinMain(HINSTANCE hThisInstance, 8 HINSTANCE hPrevInstance, 9 LPTSTR lpCmdLine, 10 int nCmdShow) 11 { 12 LPTSTR lpAppName, lpVersion, lpTitle; 13 HWND hMainWnd; 14 MSG Msg; 15 BOOL bRet; 16 int Ret = 1; 17 size_t len; 18 INITCOMMONCONTROLSEX icex; 19 20 hInstance = hThisInstance; 21 ProcessHeap = GetProcessHeap(); 22 23 icex.dwSize = sizeof(INITCOMMONCONTROLSEX); 24 icex.dwICC = ICC_BAR_CLASSES | ICC_COOL_CLASSES; 25 InitCommonControlsEx(&icex); 26 27 if (!AllocAndLoadString(&lpAppName, hInstance, IDS_APPNAME) || 28 !AllocAndLoadString(&lpVersion, hInstance, IDS_VERSION) ) 29 { 30 MessageBox(NULL, 31 _T("Error loading resource "), 32 NULL, 33 0); 34 return 1; 35 } 36 37 len = _tcslen(lpAppName) + _tcslen(lpVersion); 38 lpTitle = (TCHAR*) HeapAlloc(ProcessHeap, 39 0, 40 (len + 2) * sizeof(TCHAR)); 41 42 wsprintf(lpTitle, 43 _T("%s %s"), 44 lpAppName, 45 lpVersion); 46 47 if (InitMainWindowImpl()) 48 { 49 if (InitEditWindowImpl()) 50 { 51 hMainWnd = CreateMainWindow(lpTitle, 52 nCmdShow); 53 if (hMainWnd != NULL) 54 { 55 /* pump the message queue */ 56 while((bRet = GetMessage(&Msg, 57 NULL, 58 0, 59 0) != 0)) 60 { 61 if (bRet != (BOOL)-1) 62 { 63 if (!MainWndTranslateMDISysAccel(hMainWnd, 64 &Msg)) 65 { 66 TranslateMessage(&Msg); 67 DispatchMessage(&Msg); 68 } 69 } 70 } 71 72 Ret = 0; 73 } 74 75 UninitEditWindowImpl(); 76 } 77 78 UninitMainWindowImpl(); 79 } 80 81 LocalFree((HLOCAL)lpAppName); 82 83 return Ret; 84 } 85