网学网为需要ASP.net的朋友们搜集整理了VC.NET实现清爽便利的Windows游戏窗口相关资料,希望对各位网友有所帮助!
因为最早做的一个游戏DEMO是全屏加上鼠标独占,而且不能全屏/窗口切换,加上自己做的游戏又粗糙,感觉极为不爽。现在想想,其实当我玩游戏的时候,我是喜欢窗口化的,可以随便拖动,这样玩游戏的时候也可以兼做其他事情,而且鼠标一定不能独占,最好是要放进去是个性化鼠标,移出来又是系统鼠标。如果要做这样一个窗口,可以把以下这几个地方改一下。SetWindowPos(hWnd, HWND_TOP, 70, 70, 800, 600, SWP_SHOWWINDOW|SWP_NOCOPYBITS); |
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); |
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | \ WS_CAPTION | \ WS_SYSMENU | \ WS_THICKFRAME | \ WS_MINIMIZEBOX | \ WS_MAXIMIZEBOX) |
WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX, |
// 加个静态变量记录鼠标显示状态 static BOOL cursorState = TRUE; switch (message) { case WM_NCMOUSEMOVE: { if(cursorState == FALSE) { cursorState = TRUE; ShowCursor(TRUE); } } break; case WM_MOUSEMOVE: { if(cursorState == TRUE) { cursorState = FALSE; ShowCursor(FALSE); } // 然后做别的事情 } break; // 其他的case项目就不用变了 } |
//如果窗口类名叫winclass winclass.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_ICON1)); winclass.hIconSm = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_ICON1)); |