Доброго времени суток Господа. Не буду долго расписывать, приведу кусок кода. Код (Text): switch(uMsg) { case WM_NCHITTEST: dwClientX = LOWORD(lParam) - DataBase->GetSettingDWORD(L"WINDOW_X"); dwClientY = HIWORD(lParam) - DataBase->GetSettingDWORD(L"WINDOW_Y"); if (dwClientX < SkinEngine->WindowBack.dwBottom) { if(dwClientY > SkinEngine->dwContainerHeight - SkinEngine->WindowBack.dwBottom) return HTBOTTOMLEFT; else if(dwClientY > SkinEngine->WindowBack.dwTop) return HTLEFT; } else if (dwClientX > SkinEngine->dwContainerWidth - SkinEngine->WindowBack.dwRight) { if(dwClientY > SkinEngine->dwContainerHeight - SkinEngine->WindowBack.dwBottom) return HTBOTTOMRIGHT; else if(dwClientY > SkinEngine->WindowBack.dwTop) return HTRIGHT; } else if (dwClientY > SkinEngine->dwContainerHeight - SkinEngine->WindowBack.dwBottom) return HTBOTTOM; else return (DefWindowProc(hwnd, uMsg, wParam, lParam)); break; case WM_GETMINMAXINFO: MinMaxInfo = reinterpret_cast<MINMAXINFO*>(lParam); MinMaxInfo->ptMinTrackSize.x = 300; MinMaxInfo->ptMinTrackSize.y = 200; break; case WM_SIZING: if(!SkinEngine->ContainerHWND) break; if(SkinEngine->bOpenGLEnabled) SkinEngine->EnableOpenGL(FALSE); WindowRECT = reinterpret_cast<RECT*>(lParam); SkinEngine->Resize(WindowRECT->right - WindowRECT->left, WindowRECT->bottom - WindowRECT->top); MoveWindow(SkinEngine->CListHWND, WindowRECT->left + SkinEngine->WindowBack.dwLeft, WindowRECT->top + SkinEngine->WindowBack.dwTop, SkinEngine->dwCListWidth, SkinEngine->dwClistHeight, TRUE); return TRUE; case WM_SIZE: if (!SkinEngine->ContainerHWND) break; DataBase->SetSetting(L"WINDOW_WIDTH", LOWORD(lParam)); DataBase->SetSetting(L"WINDOW_HEIGHT", HIWORD(lParam)); SkinEngine->Resize(DataBase->GetSettingDWORD(L"WINDOW_WIDTH"), DataBase->GetSettingDWORD(L"WINDOW_HEIGHT")); SkinEngine->EnableOpenGL(DataBase->GetSettingDWORD(L"SKIN_OPENGL_ENABLED")); SkinEngine->DrawScene(); break; case WM_MOVE: DataBase->SetSetting(L"WINDOW_X", LOWORD(lParam)); DataBase->SetSetting(L"WINDOW_Y", HIWORD(lParam)); break; case WM_DATA_ARRIVED: Icq->HandleArrivedData(); break; case WM_CLOSE: PostQuitMessage(NULL); break; default: return (DefWindowProc(hwnd, uMsg, wParam, lParam)); } Собственно, проблема в subject. Ни WM_MOVE, ни WM_SIZE, ни WM_WINDOWPOSCHANGED не приходят, чем меня немало удивили. Окно WS_EX_LAYERED, WS_POPUP. Кто-нибудь сталкивался?