Мне нужно реализовать переход в полноэкранный режим из оконного и обратно, но при изменении стиля окна происходит вот что:
Unhandled exception at 0x64865a31 in Milena_C++.exe: 0xC0000005: Access violation reading location 0x00000008.
Всё это останавливается на
TranslateMessage(&msg);
DispatchMessage(&msg);
Причём, сообщение, насколько я выяснил, всегда WM_LBUTTONUP. Я думаю, проблема в том, что изменение стиля окна происходит при нажатии пункта меню (когда я меняю стиль окна из lua-скрипта такого не происходит. логично, сообщения-то не было).
HTMLayout использует уже созданное окно, как показано в примере win32, тоесть
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult;
BOOL bHandled;
lResult = HTMLayoutProcND(hWnd, message, wParam, lParam, &bHandled);
if (bHandled)
return lResult;
switch (message)
...
Стиль окна я меняю так:
Для полноэкранного
SetWindowLong(winHandle, GWL_STYLE, WS_POPUPWINDOW);
SetWindowLong(winHandle, GWL_EXSTYLE, WS_EX_TOPMOST);
ShowWindow(winHandle, SW_SHOWMAXIMIZED);
Для обычного
SetWindowLong(winHandle, GWL_STYLE, WS_OVERLAPPEDWINDOW);
SetWindowLong(winHandle, GWL_EXSTYLE, 0L);
ShowWindow(winHandle, SW_SHOWNORMAL);