   Fullscreen not really fullscreen?
  I'm using DirectX 9 (June update) and VS .NET 2003 on Windows XP.When I create a window in fullscreen mode, it looks like it's in fullscreen mode but it acts like the edges of the window are still annoyingly there on the sides of the screen.  If I move my cursor to the side of the the screen, it turns into a horizontal arrow, saying that I can drag the edge to resize the window.  The screen is all one color and I can't see any edges, but it acts like they are there.Also, if I move all the way up to the top left or right and click, it acts like I clicked the desktop (since the edges are curved) and minimizes.This is what I do:1. Init D3D object2. Register the class and create the window3. Create the deviceHere's some code too...  any ideas on what I'm missing?creating the windowAXResult Win32Window::_RegisterClass() {_hInstance = GetModuleHandle(NULL);WNDCLASS wc;wc.style = CS_CLASSDC;wc.lpfnWndProc = (WNDPROC) Win32Window::WindowProc;wc.cbClsExtra = 0;wc.cbWndExtra = 0;wc.hInstance = _hInstance;wc.hIcon = LoadIcon(_hInstance, MAKEINTRESOURCE(AXICONRES));wc.hCursor = NULL;wc.hbrBackground = NULL;wc.lpszMenuName = NULL;wc.lpszClassName = "aliquix_program";if(!RegisterClass(&wc)) return AXFAILURE;return AXSUCCESS;}AXResult Win32Window::_MakeWindow() {string AppName = AXBaseSystem::Instance().Settings.GetSetting<string>("name");RECT windowRect;windowRect.left = 0;windowRect.top = 0;if(Settings.GetSetting<int>("fullscreen")) {windowRect.right = (long)Settings.GetSetting<int>("fullscreenWidth");windowRect.bottom = (long)Settings.GetSetting<int>("fullscreenHeight");}else {windowRect.right = (long)Settings.GetSetting<int>("windowedWidth");windowRect.bottom = (long)Settings.GetSetting<int>("windowedHeight");AdjustWindowRect(&windowRect, WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, FALSE);}_hWnd = CreateWindow("aliquix_program", AppName.c_str(), WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, 0,windowRect.right-windowRect.left, windowRect.bottom-windowRect.top, NULL, NULL, _hInstance, NULL);if(!_hWnd) return AXFAILURE;ShowWindow(_hWnd, SW_SHOW);//SetForegroundWindow(_hWnd);//SetFocus(_hWnd);return AXSUCCESS;}Presentation paramsAXResult DirectXRenderer::_GetPresentationParam(D3DPRESENT_PARAMETERS *Present_Param) {    ZeroMemory(Present_Param, sizeof(D3DPRESENT_PARAMETERS));D3DFORMAT BackBufferFormat;D3DFORMAT DepthStencilFormat;/*We do quite different things if we are in fullscreen or not */if(AXAppWindow->Settings.GetSetting<int>("fullscreen")) {Present_Param->BackBufferWidth = (unsigned int)AXAppWindow->Settings.GetSetting<int>("fullscreenWidth");Present_Param->BackBufferHeight = (unsigned int)AXAppWindow->Settings.GetSetting<int>("fullscreenHeight");Present_Param->FullScreen_RefreshRateInHz = (unsigned int)AXAppWindow->Settings.GetSetting<int>("fullscreenRefreshRate");Present_Param->Windowed = 0;}else {Present_Param->Windowed = 1;}/*Get the back buffer format */BackBufferFormat = _GetBestBackBufferFormat();if(BackBufferFormat == (D3DFORMAT)0) {AXAppLog->Write(MESSAGE_SYS, "A supported back buffer format could not be found!");return AXFAILURE;}_BackBufferFormat = BackBufferFormat;/*Get the depth stencil format */DepthStencilFormat = _GetBestDepthStencilFormat();if(DepthStencilFormat == (D3DFORMAT)0) {AXAppLog->Write(MESSAGE_SYS, "A supported depth stencil format could not be found!");return AXFAILURE;}_DepthStencilFormat = DepthStencilFormat;/*Fill in the last of the required values */Present_Param->BackBufferFormat = BackBufferFormat;Present_Param->EnableAutoDepthStencil = 1;Present_Param->AutoDepthStencilFormat = DepthStencilFormat;Present_Param->PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;Present_Param->BackBufferCount = 2;    Present_Param->SwapEffect = D3DSWAPEFFECT_DISCARD;return AXSUCCESS;}Thanks for any help.. I modified this code a little while back and have not been able to test it except for now.  I'm sure I changed something then that made it like this.  I'm blinded though.. can't seem to see the problem!   
  Hi,When calling CreateWindow, WS_POPUP makes the window have no borders which I believe is generally used for full screen apps.I think that should be all you need to change.All the best,ViLiO   ;  What you are doing is making a window that is stretched to the size of the screen, so of course the cursor would react to the being near the edge of a window. If your goal is to make DirectX run in fullscreen, then you need to create a Direct3D Device that is set to fullscreen instead. Consider Fullscreen DirectX vs. Windowed Mode DirectX that fills the screen.Of course, thats just how i read your code, I'm not so good at reading C++.   ;  ViLio- ah, thanks for that tip, that seemed to fix it.  Is there anything else that needs to changed to really make it fullscreen?  The cursor seems to be doing weird things.  It changes into the hourglass and never changes back.  Hm, I'll have to figure out how to deal with cursors anyway if I want a custom one.zang- thanks for the suggestion, but you must have missed the second part of the code.  I did indeed created a DX device in fullscreen mode, as well as creating a window the size of the resolution.Anything else I need to watch out for in fullscreen mode?  When toggling between windowed and fullscreen, it seems I have to destroy the DX device, recreate the window, and recreate the DX device?  When do I need to simply reset the device, when the window is resized or minimized?   ;  There are a fair few things that can cause the device to be "lost" so it is a good idea to check for a lost device every frame. If you develop your applications with a single codepath then it should be easy enough to destroy and recreate your resources.Quite interestingly though it seems certain vertex and pixel shaders don't need re-created after a device reset (I learn something new everyday [grin])The msdn entry for lost devices is hereAll the best,ViLiO   