[EVENTVWR]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 22 May 2016 00:34:40 +0000 (00:34 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 22 May 2016 00:34:40 +0000 (00:34 +0000)
- Fix the window styles of the edit boxes in the event details dialog.
- Refactor some parts of the code to reduce the level of code indentation.
- Replace malloc/free by their Win32 counterparts HeapAlloc/HeapFree.
- When caching the full contents of a given event log, don't load at this point the event text/data. Only load those when opening the event details dialog.

svn path=/trunk/; revision=71368

25 files changed:
reactos/base/applications/mscutils/eventvwr/eventvwr.c
reactos/base/applications/mscutils/eventvwr/lang/bg-BG.rc
reactos/base/applications/mscutils/eventvwr/lang/cs-CZ.rc
reactos/base/applications/mscutils/eventvwr/lang/de-DE.rc
reactos/base/applications/mscutils/eventvwr/lang/el-GR.rc
reactos/base/applications/mscutils/eventvwr/lang/en-US.rc
reactos/base/applications/mscutils/eventvwr/lang/es-ES.rc
reactos/base/applications/mscutils/eventvwr/lang/fr-FR.rc
reactos/base/applications/mscutils/eventvwr/lang/he-IL.rc
reactos/base/applications/mscutils/eventvwr/lang/it-IT.rc
reactos/base/applications/mscutils/eventvwr/lang/ja-JP.rc
reactos/base/applications/mscutils/eventvwr/lang/ko-KR.rc
reactos/base/applications/mscutils/eventvwr/lang/no-NO.rc
reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc
reactos/base/applications/mscutils/eventvwr/lang/pt-BR.rc
reactos/base/applications/mscutils/eventvwr/lang/ro-RO.rc
reactos/base/applications/mscutils/eventvwr/lang/ru-RU.rc
reactos/base/applications/mscutils/eventvwr/lang/sk-SK.rc
reactos/base/applications/mscutils/eventvwr/lang/sq-AL.rc
reactos/base/applications/mscutils/eventvwr/lang/sv-SE.rc
reactos/base/applications/mscutils/eventvwr/lang/tr-TR.rc
reactos/base/applications/mscutils/eventvwr/lang/uk-UA.rc
reactos/base/applications/mscutils/eventvwr/lang/zh-CN.rc
reactos/base/applications/mscutils/eventvwr/lang/zh-TW.rc
reactos/base/applications/mscutils/eventvwr/resource.h

index c9fb1c1..f4f448a 100644 (file)
@@ -44,8 +44,8 @@ static const WCHAR EVENTLOG_BASE_KEY[]  = L"SYSTEM\\CurrentControlSet\\Services\
 #define EVENT_MESSAGE_EVENTTEXT_BUFFER  1024*10
 #define EVENT_MESSAGE_FILE_BUFFER       1024*10
 #define EVENT_DLL_SEPARATOR             L";"
-#define EVENT_MESSAGE_FILE              L"EventMessageFile"
 #define EVENT_CATEGORY_MESSAGE_FILE     L"CategoryMessageFile"
+#define EVENT_MESSAGE_FILE              L"EventMessageFile"
 #define EVENT_PARAMETER_MESSAGE_FILE    L"ParameterMessageFile"
 
 #define MAX_LOADSTRING 255
@@ -260,50 +260,54 @@ GetEventCategory(IN LPCWSTR KeyName,
                  IN EVENTLOGRECORD *pevlr,
                  OUT PWCHAR CategoryName)
 {
-    HANDLE hLibrary = NULL;
+    BOOL Success = FALSE;
+    HMODULE hLibrary = NULL;
     WCHAR szMessageDLL[MAX_PATH];
-    LPVOID lpMsgBuf = NULL;
+    LPWSTR lpMsgBuf = NULL;
 
-    if (GetEventMessageFileDLL(KeyName, SourceName, EVENT_CATEGORY_MESSAGE_FILE , szMessageDLL))
+    if (!GetEventMessageFileDLL(KeyName, SourceName, EVENT_CATEGORY_MESSAGE_FILE, szMessageDLL))
+        goto Quit;
+
+    hLibrary = LoadLibraryExW(szMessageDLL, NULL,
+                              DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE);
+    if (hLibrary == NULL)
+        goto Quit;
+
+    /* Retrieve the message string. */
+    if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE |
+                       FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_ARGUMENT_ARRAY,
+                       hLibrary,
+                       pevlr->EventCategory,
+                       MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+                       (LPWSTR)&lpMsgBuf,
+                       EVENT_MESSAGE_FILE_BUFFER,
+                       NULL) != 0)
     {
-        hLibrary = LoadLibraryExW(szMessageDLL, NULL,
-                                  DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE);
-        if (hLibrary != NULL)
-        {
-            /* Retrieve the message string. */
-            if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ARGUMENT_ARRAY,
-                               hLibrary,
-                               pevlr->EventCategory,
-                               MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                               (LPWSTR)&lpMsgBuf,
-                               EVENT_MESSAGE_FILE_BUFFER,
-                               NULL) != 0)
-            {
-                /* Trim the string */
-                TrimNulls(lpMsgBuf);
+        /* Trim the string */
+        TrimNulls(lpMsgBuf);
 
-                /* Copy the category name */
-                StringCchCopyW(CategoryName, MAX_PATH, lpMsgBuf);
-            }
-            else
-            {
-                LoadStringW(hInst, IDS_NONE, CategoryName, MAX_PATH);
-            }
+        /* Copy the category name */
+        StringCchCopyW(CategoryName, MAX_PATH, lpMsgBuf);
+    }
+    else
+    {
+        LoadStringW(hInst, IDS_NONE, CategoryName, MAX_PATH);
+    }
 
-            if (hLibrary != NULL)
-                FreeLibrary(hLibrary);
+    /* Free the buffer allocated by FormatMessage */
+    if (lpMsgBuf)
+        LocalFree(lpMsgBuf);
 
-            /* Free the buffer allocated by FormatMessage */
-            if (lpMsgBuf)
-                LocalFree(lpMsgBuf);
+    if (hLibrary != NULL)
+        FreeLibrary(hLibrary);
 
-            return TRUE;
-        }
-    }
+    Success = TRUE;
 
-    LoadStringW(hInst, IDS_NONE, CategoryName, MAX_PATH);
+Quit:
+    if (!Success)
+        LoadStringW(hInst, IDS_NONE, CategoryName, MAX_PATH);
 
-    return FALSE;
+    return Success;
 }
 
 
@@ -313,106 +317,109 @@ GetEventMessage(IN LPCWSTR KeyName,
                 IN EVENTLOGRECORD *pevlr,
                 OUT PWCHAR EventText)
 {
+    BOOL Success = FALSE;
     DWORD i;
-    HANDLE hLibrary = NULL;
+    HMODULE hLibrary = NULL;
     WCHAR SourceModuleName[1000];
     WCHAR ParameterModuleName[1000];
+    BOOL IsParamModNameCached = FALSE;
     LPWSTR lpMsgBuf = NULL;
     WCHAR szStringIDNotFound[MAX_LOADSTRING];
     LPWSTR szDll;
     LPWSTR szMessage;
     LPWSTR *szArguments;
-    BOOL bDone = FALSE;
 
-    /* TODO : GetEventMessageFileDLL can return a comma separated list of DLLs */
-    if (GetEventMessageFileDLL(KeyName, SourceName, EVENT_MESSAGE_FILE, SourceModuleName))
-    {
-        /* Get the event message */
-        szMessage = (LPWSTR)((LPBYTE)pevlr + pevlr->StringOffset);
+    /* NOTE: GetEventMessageFileDLL can return a comma-separated list of DLLs */
 
-        /* Allocate space for parameters */
-        szArguments = malloc(sizeof(LPVOID) * pevlr->NumStrings);
-        if (!szArguments)
-        {
-            return FALSE;
-        }
+    if (!GetEventMessageFileDLL(KeyName, SourceName, EVENT_MESSAGE_FILE, SourceModuleName))
+    {
+        // goto Quit;
+        return FALSE;
+    }
 
-        for (i = 0; i < pevlr->NumStrings ; i++)
-        {
-            if (wcsstr(szMessage , L"%%"))
-            {
-                if (GetEventMessageFileDLL(KeyName, SourceName, EVENT_PARAMETER_MESSAGE_FILE, ParameterModuleName))
-                {
-                    /* Not yet support for reading messages from parameter message DLL */
-                }
-            }
+    /* Get the event message */
+    szMessage = (LPWSTR)((LPBYTE)pevlr + pevlr->StringOffset);
 
-            szArguments[i] = szMessage;
-            szMessage += wcslen(szMessage) + 1;
-        }
+    /* Allocate space for parameters */
+    szArguments = HeapAlloc(GetProcessHeap(), 0, pevlr->NumStrings * sizeof(LPVOID));
+    if (!szArguments)
+    {
+        // goto Quit;
+        return FALSE;
+    }
 
-        szDll = wcstok(SourceModuleName, EVENT_DLL_SEPARATOR);
-        while ((szDll != NULL) && (!bDone))
+    for (i = 0; i < pevlr->NumStrings; i++)
+    {
+        if (wcsstr(szMessage, L"%%"))
         {
-            hLibrary = LoadLibraryExW(szDll, NULL,
-                                      DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE);
-            if (hLibrary == NULL)
-            {
-                /* The DLL could not be loaded try the next one (if any) */
-                szDll = wcstok(NULL, EVENT_DLL_SEPARATOR);
-            }
-            else
+            if (!IsParamModNameCached && GetEventMessageFileDLL(KeyName, SourceName, EVENT_PARAMETER_MESSAGE_FILE, ParameterModuleName))
             {
-                /* Retrieve the message string. */
-                if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
-                                   FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                                   FORMAT_MESSAGE_FROM_HMODULE |
-                                   FORMAT_MESSAGE_ARGUMENT_ARRAY,
-                                   hLibrary,
-                                   pevlr->EventID,
-                                   MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                                   (LPWSTR)&lpMsgBuf,
-                                   0,
-                                   (va_list*)szArguments) == 0)
-                {
-                    /* We haven't found the string , get next DLL (if any) */
-                    szDll = wcstok(NULL, EVENT_DLL_SEPARATOR);
-                }
-                else
-                {
-                    if (lpMsgBuf)
-                    {
-                        /* The ID was found and the message was formated */
-                        bDone = TRUE;
+                /* Now that the parameter file list is loaded, no need to reload it at the next run! */
+                IsParamModNameCached = TRUE;
 
-                        /* Trim the string */
-                        TrimNulls((LPWSTR)lpMsgBuf);
+                /* Not yet support for reading messages from parameter message DLL */
+            }
+        }
 
-                        /* Copy the event text */
-                        StringCchCopyW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER, lpMsgBuf);
-                    }
-                }
+        szArguments[i] = szMessage;
+        szMessage += wcslen(szMessage) + 1;
+    }
 
-                FreeLibrary(hLibrary);
-            }
+    /* Loop through the list of event message DLLs */
+    szDll = wcstok(SourceModuleName, EVENT_DLL_SEPARATOR);
+    while ((szDll != NULL) && (!Success))
+    {
+        hLibrary = LoadLibraryExW(szDll, NULL,
+                                  DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE);
+        if (hLibrary == NULL)
+        {
+            /* The DLL could not be loaded try the next one (if any) */
+            szDll = wcstok(NULL, EVENT_DLL_SEPARATOR);
+            continue;
         }
 
-        if (!bDone)
+        /* Retrieve the message string. */
+        if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE |
+                           FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_ARGUMENT_ARRAY,
+                           hLibrary,
+                           pevlr->EventID,
+                           MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+                           (LPWSTR)&lpMsgBuf,
+                           0,
+                           (va_list*)szArguments) == 0)
+        {
+            /* We haven't found the string, get next DLL (if any) */
+            szDll = wcstok(NULL, EVENT_DLL_SEPARATOR);
+        }
+        else if (lpMsgBuf)
         {
-            LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound, ARRAYSIZE(szStringIDNotFound));
-            StringCchPrintfW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER, szStringIDNotFound, (pevlr->EventID & 0xFFFF), SourceName);
+            /* The ID was found and the message was formated */
+            Success = TRUE;
+
+            /* Trim the string */
+            TrimNulls((LPWSTR)lpMsgBuf);
+
+            /* Copy the event text */
+            StringCchCopyW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER, lpMsgBuf);
         }
 
-        free(szArguments);
+        /* Free the buffer allocated by FormatMessage */
+        if (lpMsgBuf)
+            LocalFree(lpMsgBuf);
 
-        /* No more dlls to try, return result */
-        return bDone;
+        FreeLibrary(hLibrary);
     }
 
-    LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound, ARRAYSIZE(szStringIDNotFound));
-    StringCchPrintfW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER, szStringIDNotFound, (pevlr->EventID & 0xFFFF), SourceName);
+    HeapFree(GetProcessHeap(), 0, szArguments);
 
-    return FALSE;
+// Quit:
+    if (!Success)
+    {
+        LoadStringW(hInst, IDS_EVENTSTRINGIDNOTFOUND, szStringIDNotFound, ARRAYSIZE(szStringIDNotFound));
+        StringCchPrintfW(EventText, EVENT_MESSAGE_EVENTTEXT_BUFFER, szStringIDNotFound, (pevlr->EventID & 0xFFFF), SourceName);
+    }
+
+    return Success;
 }
 
 
@@ -521,7 +528,6 @@ QueryEventMessages(LPWSTR lpMachineName,
     size_t cchRemaining;
     LPWSTR lpSourceName;
     LPWSTR lpComputerName;
-    LPSTR lpData;
     BOOL bResult = TRUE; /* Read succeeded. */
 
     WCHAR szWindowTitle[MAX_PATH];
@@ -532,9 +538,7 @@ QueryEventMessages(LPWSTR lpMachineName,
     WCHAR szEventTypeText[MAX_LOADSTRING];
     WCHAR szCategoryID[MAX_PATH];
     WCHAR szUsername[MAX_PATH];
-    WCHAR szEventText[EVENT_MESSAGE_FILE_BUFFER];
     WCHAR szCategory[MAX_PATH];
-    WCHAR szData[MAX_PATH];
     PWCHAR lpTitleTemplateEnd;
 
     SYSTEMTIME time;
@@ -557,13 +561,13 @@ QueryEventMessages(LPWSTR lpMachineName,
     SendMessageW(hwndListView, WM_SETREDRAW, FALSE, 0);
 
     /* Clear the list view */
-    (void)ListView_DeleteAllItems (hwndListView);
+    (void)ListView_DeleteAllItems(hwndListView);
     FreeRecords();
 
     GetOldestEventLogRecord(hEventLog, &dwThisRecord);
 
     /* Get the total number of event log records. */
-    GetNumberOfEventLogRecords (hEventLog , &dwTotalRecords);
+    GetNumberOfEventLogRecords(hEventLog, &dwTotalRecords);
     g_TotalRecords = dwTotalRecords;
 
     if (dwTotalRecords > 0)
@@ -619,9 +623,8 @@ QueryEventMessages(LPWSTR lpMachineName,
 
         while (dwRead > 0)
         {
-            LoadStringW(hInst, IDS_NOT_AVAILABLE, szUsername, MAX_PATH);
-            LoadStringW(hInst, IDS_NOT_AVAILABLE, szEventText, MAX_PATH);
-            LoadStringW(hInst, IDS_NONE, szCategory, MAX_PATH);
+            LoadStringW(hInst, IDS_NOT_AVAILABLE, szUsername, ARRAYSIZE(szUsername));
+            LoadStringW(hInst, IDS_NONE, szCategory, ARRAYSIZE(szCategory));
 
             // Get the event source name.
             lpSourceName = (LPWSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD));
@@ -629,17 +632,14 @@ QueryEventMessages(LPWSTR lpMachineName,
             // Get the computer name
             lpComputerName = (LPWSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD) + (wcslen(lpSourceName) + 1) * sizeof(WCHAR));
 
-            // This is the data section of the current event
-            lpData = (LPSTR)((LPBYTE)pevlr + pevlr->DataOffset);
-
             // Compute the event type
             EventTimeToSystemTime(pevlr->TimeWritten, &time);
 
             // Get the username that generated the event
             GetEventUserName(pevlr, szUsername);
 
-            GetDateFormatW(LOCALE_USER_DEFAULT, DATE_SHORTDATE, &time, NULL, szLocalDate, MAX_PATH);
-            GetTimeFormatW(LOCALE_USER_DEFAULT, 0, &time, NULL, szLocalTime, MAX_PATH);
+            GetDateFormatW(LOCALE_USER_DEFAULT, DATE_SHORTDATE, &time, NULL, szLocalDate, ARRAYSIZE(szLocalDate));
+            GetTimeFormatW(LOCALE_USER_DEFAULT, 0, &time, NULL, szLocalTime, ARRAYSIZE(szLocalTime));
 
             GetEventType(pevlr->EventType, szEventTypeText);
             GetEventCategory(lpLogName, lpSourceName, pevlr, szCategory);
@@ -689,13 +689,6 @@ QueryEventMessages(LPWSTR lpMachineName,
             ListView_SetItemText(hwndListView, lviEventItem.iItem, 5, szEventID);
             ListView_SetItemText(hwndListView, lviEventItem.iItem, 6, szUsername);
             ListView_SetItemText(hwndListView, lviEventItem.iItem, 7, lpComputerName);
-            MultiByteToWideChar(CP_ACP,
-                                0,
-                                lpData,
-                                pevlr->DataLength,
-                                szData,
-                                MAX_PATH);
-            ListView_SetItemText(hwndListView, lviEventItem.iItem, 8, szData); // Event Text
 
             dwRead -= pevlr->Length;
             pevlr = (EVENTLOGRECORD *)((LPBYTE) pevlr + pevlr->Length);
@@ -947,7 +940,7 @@ BuildLogList(void)
     DWORD dwMaxKeyLength;
     WCHAR szModuleName[MAX_PATH];
     LPWSTR lpDisplayName;
-    HANDLE hLibrary = NULL;
+    HMODULE hLibrary = NULL;
 
     if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, EVENTLOG_BASE_KEY, 0, KEY_READ, &hKey) != ERROR_SUCCESS)
     {
@@ -1012,7 +1005,9 @@ BuildLogList(void)
                     InsertMenuW(hMainMenu, IDM_SAVE_PROTOCOL, MF_BYCOMMAND | MF_STRING, ID_FIRST_LOG + dwIndex, LogNames[dwIndex]);
                 }
 
-                LocalFree(lpDisplayName);
+                /* Free the buffer allocated by FormatMessage */
+                if (lpDisplayName)
+                    LocalFree(lpDisplayName);
             }
         }
     }
@@ -1188,14 +1183,6 @@ InitInstance(HINSTANCE hInstance,
     lvc.pszText = szTemp;
     (void)ListView_InsertColumn(hwndListView, 7, &lvc);
 
-    lvc.cx = 0;
-    LoadStringW(hInstance,
-                IDS_COLUMNEVENTDATA,
-                szTemp,
-                ARRAYSIZE(szTemp));
-    lvc.pszText = szTemp;
-    (void)ListView_InsertColumn(hwndListView, 8, &lvc);
-
     // Initialize the save Dialog
     ZeroMemory(&sfn, sizeof(sfn));
     ZeroMemory(szSaveFilter, sizeof(szSaveFilter));
@@ -1246,7 +1233,7 @@ WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
         case WM_NOTIFY:
             switch (((LPNMHDR)lParam)->code)
             {
-                case NM_DBLCLK :
+                case NM_DBLCLK:
                     hdr = (NMHDR FAR*)lParam;
                     if (hdr->hwndFrom == hwndListView)
                     {
@@ -1388,6 +1375,14 @@ DisplayEvent(HWND hDlg)
 
     // Get index of selected item
     iIndex = (int)SendMessageW(hwndListView, LVM_GETNEXTITEM, -1, LVNI_SELECTED | LVNI_FOCUSED);
+    if (iIndex == -1)
+    {
+        MessageBoxW(NULL,
+                    L"No Items in ListView",
+                    L"Error",
+                    MB_OK | MB_ICONINFORMATION);
+        return;
+    }
 
     li.mask = LVIF_PARAM;
     li.iItem = iIndex;
@@ -1397,52 +1392,46 @@ DisplayEvent(HWND hDlg)
 
     pevlr = (EVENTLOGRECORD*)li.lParam;
 
-    if (iIndex != -1)
+    ListView_GetItemText(hwndListView, iIndex, 0, szEventType, ARRAYSIZE(szEventType));
+    ListView_GetItemText(hwndListView, iIndex, 1, szDate, ARRAYSIZE(szDate));
+    ListView_GetItemText(hwndListView, iIndex, 2, szTime, ARRAYSIZE(szTime));
+    ListView_GetItemText(hwndListView, iIndex, 3, szSource, ARRAYSIZE(szSource));
+    ListView_GetItemText(hwndListView, iIndex, 4, szCategory, ARRAYSIZE(szCategory));
+    ListView_GetItemText(hwndListView, iIndex, 5, szEventID, ARRAYSIZE(szEventID));
+    ListView_GetItemText(hwndListView, iIndex, 6, szUser, ARRAYSIZE(szUser));
+    ListView_GetItemText(hwndListView, iIndex, 7, szComputer, ARRAYSIZE(szComputer));
+
+    SetDlgItemTextW(hDlg, IDC_EVENTDATESTATIC, szDate);
+    SetDlgItemTextW(hDlg, IDC_EVENTTIMESTATIC, szTime);
+    SetDlgItemTextW(hDlg, IDC_EVENTUSERSTATIC, szUser);
+    SetDlgItemTextW(hDlg, IDC_EVENTSOURCESTATIC, szSource);
+    SetDlgItemTextW(hDlg, IDC_EVENTCOMPUTERSTATIC, szComputer);
+    SetDlgItemTextW(hDlg, IDC_EVENTCATEGORYSTATIC, szCategory);
+    SetDlgItemTextW(hDlg, IDC_EVENTIDSTATIC, szEventID);
+    SetDlgItemTextW(hDlg, IDC_EVENTTYPESTATIC, szEventType);
+
+    bEventData = (pevlr->DataLength > 0);
+    if (bEventData)
     {
-        ListView_GetItemText(hwndListView, iIndex, 0, szEventType, ARRAYSIZE(szEventType));
-        ListView_GetItemText(hwndListView, iIndex, 1, szDate, ARRAYSIZE(szDate));
-        ListView_GetItemText(hwndListView, iIndex, 2, szTime, ARRAYSIZE(szTime));
-        ListView_GetItemText(hwndListView, iIndex, 3, szSource, ARRAYSIZE(szSource));
-        ListView_GetItemText(hwndListView, iIndex, 4, szCategory, ARRAYSIZE(szCategory));
-        ListView_GetItemText(hwndListView, iIndex, 5, szEventID, ARRAYSIZE(szEventID));
-        ListView_GetItemText(hwndListView, iIndex, 6, szUser, ARRAYSIZE(szUser));
-        ListView_GetItemText(hwndListView, iIndex, 7, szComputer, ARRAYSIZE(szComputer));
-
-        bEventData = !(pevlr->DataLength == 0);
-
-        if (pevlr->DataLength > 0)
-        {
-            MultiByteToWideChar(CP_ACP,
-                                0,
-                                (LPCSTR)((LPBYTE)pevlr + pevlr->DataOffset),
-                                pevlr->DataLength,
-                                szEventData,
-                                MAX_PATH);
-        }
-
-        GetEventMessage(lpSourceLogName, szSource, pevlr, szEventText);
-
-        EnableWindow(GetDlgItem(hDlg, IDC_BYTESRADIO), bEventData);
-        EnableWindow(GetDlgItem(hDlg, IDC_WORDRADIO), bEventData);
+        // This is the data section of the current event
+        MultiByteToWideChar(CP_ACP,
+                            0,
+                            (LPCSTR)((LPBYTE)pevlr + pevlr->DataOffset),
+                            pevlr->DataLength,
+                            szEventData,
+                            MAX_PATH);
 
-        SetDlgItemTextW(hDlg, IDC_EVENTDATESTATIC, szDate);
-        SetDlgItemTextW(hDlg, IDC_EVENTTIMESTATIC, szTime);
-        SetDlgItemTextW(hDlg, IDC_EVENTUSERSTATIC, szUser);
-        SetDlgItemTextW(hDlg, IDC_EVENTSOURCESTATIC, szSource);
-        SetDlgItemTextW(hDlg, IDC_EVENTCOMPUTERSTATIC, szComputer);
-        SetDlgItemTextW(hDlg, IDC_EVENTCATEGORYSTATIC, szCategory);
-        SetDlgItemTextW(hDlg, IDC_EVENTIDSTATIC, szEventID);
-        SetDlgItemTextW(hDlg, IDC_EVENTTYPESTATIC, szEventType);
-        SetDlgItemTextW(hDlg, IDC_EVENTTEXTEDIT, szEventText);
         SetDlgItemTextW(hDlg, IDC_EVENTDATAEDIT, szEventData);
     }
     else
     {
-        MessageBoxW(NULL,
-                    L"No Items in ListView",
-                    L"Error",
-                    MB_OK | MB_ICONINFORMATION);
+        SetDlgItemTextW(hDlg, IDC_EVENTDATAEDIT, L"");
     }
+    EnableWindow(GetDlgItem(hDlg, IDC_BYTESRADIO), bEventData);
+    EnableWindow(GetDlgItem(hDlg, IDC_WORDRADIO), bEventData);
+
+    GetEventMessage(lpSourceLogName, szSource, pevlr, szEventText);
+    SetDlgItemTextW(hDlg, IDC_EVENTTEXTEDIT, szEventText);
 }
 
 VOID
@@ -1502,14 +1491,14 @@ StatusMessageWindowProc(IN HWND hwndDlg,
                         IN WPARAM wParam,
                         IN LPARAM lParam)
 {
+    UNREFERENCED_PARAMETER(hwndDlg);
     UNREFERENCED_PARAMETER(wParam);
+    UNREFERENCED_PARAMETER(lParam);
 
     switch (uMsg)
     {
         case WM_INITDIALOG:
-        {
             return TRUE;
-        }
     }
     return FALSE;
 }
@@ -1574,9 +1563,11 @@ EventDetails(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
                     CopyEventEntry(hDlg);
                     return (INT_PTR)TRUE;
 
+                // UNIMPLEMENTED!
                 case IDC_BYTESRADIO:
                     return (INT_PTR)TRUE;
 
+                // UNIMPLEMENTED!
                 case IDC_WORDRADIO:
                     return (INT_PTR)TRUE;
 
index c7e7399..05d9285 100644 (file)
@@ -76,12 +76,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Описание:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "&Данни:", IDC_STATIC, 8, 169, 25, 8
     CONTROL "&Байтове", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 40, 8
     CONTROL "&Думи", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 85, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "Помо&щ", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Затваряне", IDOK, 206, 228, 50, 14
@@ -114,7 +114,6 @@ BEGIN
     IDS_COLUMNEVENT "Събитие"
     IDS_COLUMNUSER "Потребител"
     IDS_COLUMNCOMPUTER "Компютър"
-    IDS_COLUMNEVENTDATA "Данни за събитието"
 END
 
 STRINGTABLE
index eb0f44e..2507608 100644 (file)
@@ -76,12 +76,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Popis:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ata:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Byty", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Nápověda", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Zavřít", IDOK, 206, 228, 50, 14
@@ -114,7 +114,6 @@ BEGIN
     IDS_COLUMNEVENT "Událost"
     IDS_COLUMNUSER "Uživatel"
     IDS_COLUMNCOMPUTER "Počítač"
-    IDS_COLUMNEVENTDATA "Data události"
 END
 
 STRINGTABLE
index d295946..976dabc 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Bezeichnung:", IDC_STATIC, 8, 65, 45, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&aten:", IDC_STATIC, 8, 169, 24, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Hilfe", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Schließen", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Ereignis"
     IDS_COLUMNUSER "Benutzer"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Ereignisdaten"
 END
 
 STRINGTABLE
index f674d42..7342792 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Περιγραφή:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Δ&εδομένα:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Βοήθεια", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Κλείσιμο", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Event"
     IDS_COLUMNUSER "User"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Event Data"
 END
 
 STRINGTABLE
index 9862ea1..c8d91d9 100644 (file)
@@ -89,7 +89,7 @@ BEGIN
     LTEXT "D&ata:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Help", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Close", IDOK, 206, 228, 50, 14
@@ -122,7 +122,6 @@ BEGIN
     IDS_COLUMNEVENT "Event"
     IDS_COLUMNUSER "User"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Event Data"
 END
 
 STRINGTABLE
index c22ccde..6085f3b 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Descripción:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&atos:", IDC_STATIC, 8, 169, 25, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Ayuda", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Cerrar", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Evento"
     IDS_COLUMNUSER "Usuario"
     IDS_COLUMNCOMPUTER "Equipo"
-    IDS_COLUMNEVENTDATA "Datos del evento"
 END
 
 STRINGTABLE
index b367634..ac7fcad 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Description :", IDC_STATIC, 8, 65, 45, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Données :", IDC_STATIC, 8, 169, 35, 8
     CONTROL "&Octets", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 50, 169, 34, 8
     CONTROL "&Mots", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 88, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "Aide", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "Fermer", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Événement"
     IDS_COLUMNUSER "Utilisateur"
     IDS_COLUMNCOMPUTER "Ordinateur"
-    IDS_COLUMNEVENTDATA "Données"
 END
 
 STRINGTABLE
index 3c54477..bf53f07 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "תיאור:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "נתונים:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "בתים", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "מילים", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "עזרה", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "סגור", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "אירוע"
     IDS_COLUMNUSER "משתמש"
     IDS_COLUMNCOMPUTER "מחשב"
-    IDS_COLUMNEVENTDATA "מידע יומן"
 END
 
 STRINGTABLE
index 3e59330..b49510f 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Descrizione:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ati:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Aiuto", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Chiudi", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Evento"
     IDS_COLUMNUSER "Utente"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Dati Evento"
 END
 
 STRINGTABLE
index ea79b4e..24abd2c 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "説明(&D):", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "データ(&A):", IDC_STATIC, 8, 169, 20, 8
     CONTROL "バイト(&B)", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "ワード(&W)", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "ヘルプ(&H)", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "閉じる(&C)", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Event"
     IDS_COLUMNUSER "User"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Event Data"
 END
 
 STRINGTABLE
index 1b0bf3b..cc90403 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "설명(&D):", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "데이터(&A):", IDC_STATIC, 8, 169, 20, 8
     CONTROL "바이트(&B)", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "글자(&W)", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "도움말(&H)", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "닫기(&C)", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Event"
     IDS_COLUMNUSER "User"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Event Data"
 END
 
 STRINGTABLE
index 8468d45..e6d4673 100644 (file)
@@ -76,12 +76,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Beskrivelse:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ata", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Tegn", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Ord", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Hjelp", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Lukk", IDOK, 206, 228, 50, 14
@@ -114,7 +114,6 @@ BEGIN
     IDS_COLUMNEVENT "Event"
     IDS_COLUMNUSER "User"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Event Data"
 END
 
 STRINGTABLE
index 705a03f..700b93f 100644 (file)
@@ -80,12 +80,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Opis:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ane", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bajty", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Słowa", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "Po&moc", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Zamknij", IDOK, 206, 228, 50, 14
@@ -118,7 +118,6 @@ BEGIN
     IDS_COLUMNEVENT "Zdarzenie"
     IDS_COLUMNUSER "Użytkownik"
     IDS_COLUMNCOMPUTER "Komputer"
-    IDS_COLUMNEVENTDATA "Dane zdarzenia"
 END
 
 STRINGTABLE
index 37c4a5a..1a16846 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Descrição:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Dad&os:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "A&juda", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Fechar", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Evento"
     IDS_COLUMNUSER "Usuário"
     IDS_COLUMNCOMPUTER "Computador"
-    IDS_COLUMNEVENTDATA "Dados do Evento"
 END
 
 STRINGTABLE
index 413bb21..cf2fb08 100644 (file)
@@ -81,12 +81,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Descriere:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ate:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&8 biți", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&16 biți", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Manual…", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "Î&nchide", IDOK, 206, 228, 50, 14
@@ -119,7 +119,6 @@ BEGIN
     IDS_COLUMNEVENT "Eveniment"
     IDS_COLUMNUSER "Utilizator"
     IDS_COLUMNCOMPUTER "Calculator"
-    IDS_COLUMNEVENTDATA "Date eveniment"
 END
 
 STRINGTABLE
index 791f20f..8eac573 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "Описание:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Данные:", IDC_STATIC, 8, 169, 30, 8
     CONTROL "&Байты", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 49, 169, 34, 8
     CONTROL "&Слова", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 87, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "П&омощь", IDHELP, 8, 228, 55, 14
     DEFPUSHBUTTON "&Закрыть", IDOK, 199, 228, 55, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Событие"
     IDS_COLUMNUSER "Пользователь"
     IDS_COLUMNCOMPUTER "Компьютер"
-    IDS_COLUMNEVENTDATA "Данные события"
 END
 
 STRINGTABLE
index e748af0..fc1a69c 100644 (file)
@@ -81,12 +81,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Popis:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Ú&daje:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bajty", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Slová", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Pomocník", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Zavrieť", IDOK, 206, 228, 50, 14
@@ -119,7 +119,6 @@ BEGIN
     IDS_COLUMNEVENT "Event"
     IDS_COLUMNUSER "User"
     IDS_COLUMNCOMPUTER "Computer"
-    IDS_COLUMNEVENTDATA "Event Data"
 END
 
 STRINGTABLE
index e219fb7..0287cfc 100644 (file)
@@ -84,12 +84,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "Përshkrimi:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ata:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Bytes", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "Ndihmë", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "Mbylle", IDOK, 206, 228, 50, 14
@@ -122,7 +122,6 @@ BEGIN
     IDS_COLUMNEVENT "Ngjarja"
     IDS_COLUMNUSER "Përdoruesi"
     IDS_COLUMNCOMPUTER "Kompjuter"
-    IDS_COLUMNEVENTDATA "Data e Ngjarjes"
 END
 
 STRINGTABLE
index e77def6..d6b09cb 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Beskrivning:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "D&ata", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Byte", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Ord", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Hjälp", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Stäng", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Händelse"
     IDS_COLUMNUSER "Användare"
     IDS_COLUMNCOMPUTER "Dator"
-    IDS_COLUMNEVENTDATA "Händelsedata"
 END
 
 STRINGTABLE
index 31227bc..efb8a26 100644 (file)
@@ -84,12 +84,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "Açıklama:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Veri:", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Çoklu", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "Sö&zcük", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Yardım", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Kapat", IDOK, 206, 228, 50, 14
@@ -122,7 +122,6 @@ BEGIN
     IDS_COLUMNEVENT "Olay"
     IDS_COLUMNUSER "Kullanıcı"
     IDS_COLUMNCOMPUTER "Bilgisayar"
-    IDS_COLUMNEVENTDATA "Olay Verisi"
 END
 
 STRINGTABLE
index 76072ea..4e59d78 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "&Опис:", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "Д&aта", IDC_STATIC, 8, 169, 20, 8
     CONTROL "&Байт", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "&Слово", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "&Допомога", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "&Закрити", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "Подія"
     IDS_COLUMNUSER "Користувач"
     IDS_COLUMNCOMPUTER "Комп'ютер"
-    IDS_COLUMNEVENTDATA "Дані події"
 END
 
 STRINGTABLE
index 36c7883..51eb161 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "描述(&D):", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "数据(&A)", IDC_STATIC, 8, 169, 20, 8
     CONTROL "字节(&B)", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "字(&W)", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "帮助(&H)", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "关闭(&C)", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "事件"
     IDS_COLUMNUSER "用户"
     IDS_COLUMNCOMPUTER "计算机"
-    IDS_COLUMNEVENTDATA "事件数据"
 END
 
 STRINGTABLE
index d44bac6..7d97d1e 100644 (file)
@@ -78,12 +78,12 @@ BEGIN
     PUSHBUTTON "", IDC_COPY, 225, 37, 28, 14, BS_ICON
 
     LTEXT "描述(&D):", IDC_STATIC, 8, 65, 39, 8
-    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTTEXTEDIT, 8, 76, 247, 88, ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     LTEXT "資料(&A)", IDC_STATIC, 8, 169, 20, 8
     CONTROL "位元組(&B)", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 169, 34, 8
     CONTROL "位元(&W)", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 169, 33, 8
-    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_READONLY
+    EDITTEXT IDC_EVENTDATAEDIT, 8, 179, 247, 44, ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER
 
     PUSHBUTTON "説明(&H)", IDHELP, 8, 228, 50, 14
     DEFPUSHBUTTON "關閉(&C)", IDOK, 206, 228, 50, 14
@@ -116,7 +116,6 @@ BEGIN
     IDS_COLUMNEVENT "事件"
     IDS_COLUMNUSER "使用者"
     IDS_COLUMNCOMPUTER "電腦"
-    IDS_COLUMNEVENTDATA "事件資料"
 END
 
 STRINGTABLE
index f951126..6d1163f 100644 (file)
@@ -76,7 +76,6 @@
 #define IDS_COLUMNEVENT     305
 #define IDS_COLUMNUSER      306
 #define IDS_COLUMNCOMPUTER  307
-#define IDS_COLUMNEVENTDATA 308
 
 #define IDS_COPY          400