Mercurial > mm7
diff OSWindow.cpp @ 2425:d922225a6081
Hot key for mm7 main menu
author | Ritor1 |
---|---|
date | Wed, 23 Jul 2014 16:06:17 +0600 |
parents | 1b6bf88f561b |
children | 1e1b2728b3d3 |
line wrap: on
line diff
--- a/OSWindow.cpp Tue Jul 22 23:07:24 2014 +0200 +++ b/OSWindow.cpp Wed Jul 23 16:06:17 2014 +0600 @@ -466,11 +466,15 @@ { CREATESTRUCTA* cs = (CREATESTRUCTA *)(lparam); OSWindow* window = (OSWindow *)cs->lpCreateParams; - + //Функция SetWindowLongPtr изменяет атрибуты указанного окна. Функция также устанавливает и значение + // при заданном смещении в дополнительной памяти окна. SetWindowLongPtrW(hwnd, GWLP_USERDATA, (LONG_PTR)window); return DefWindowProcW(hwnd, msg, wparam, lparam); } - + //Функция GetWindowLongPtr извлекает информацию об определяемом окне. Функция также извлекает данные и о значение + //при заданном смещении в дополнительной памяти окна. + //GWLP_USERDATA - Извлекает пользовательские данные, связанные с окном. Эти данные предназначаются для использования приложением, + //которое создавало окно. Его значение первоначально является нулевым. OSWindow* window = (OSWindow *)GetWindowLongPtrW(hwnd, GWLP_USERDATA); if (window && window->api_handle == hwnd) //Uninitialized memory access { @@ -478,6 +482,8 @@ if (window->WinApiMessageProc(msg, wparam, lparam, &result)) return result; } + //Функция DefWindowProc вызывается оконной процедурой по умолчанию, чтобы обеспечить обработку по умолчанию любого + //сообщения окна, которые приложение не обрабатывает. Эта функция гарантирует то, что обрабатывается каждое сообщение. return DefWindowProcW(hwnd, msg, (WPARAM)wparam, (LPARAM)lparam); }