Detect Window Maximize event
BlitzMax Forums/BlitzMax Programming/Detect Window Maximize event
| ||
I want to use the maximize button as a shortcut to set my game to fullscreen mode. I've enabled the button on the window - but I can't figure out how to detect when the user has clicked on it. Currently when I click on it, the window maximizes with my game still running in the top corner in an 800x600 rectangle. (Don't want to use MaxGUI, either). |
| ||
You can use MaxGUI (source) to find out how it detects it. |
| ||
I don't have MaxGUI on this PC and TortoiseSVN says it can't connect to the repository to download it. Sod's law.... |
| ||
Just had a look at the MaxGUI source on my other PC - might as well be written in chinese. Any advice? |
| ||
I thought I could work around this by waiting for a EVENT_WINDOWSIZE event. It never gets returned. EVENT_MOUSEMOVE works. EVENT_WINDOWCLOSE also doesn't work. Clicking the close button seems to return a value of 259, which is not EVENT_WINDOWCLOSE. I think there's something proplerly wrong here... |
| ||
It couldn't be answered here although it gives a way to get the current status rather than have an event triggered when the button is pushed. |
| ||
Sorted it using isZoomed. Like you said, it checks the status rather than detecting the event itself.Extern "win32" Function IsZoomed%(hWnd%) = "IsZoomed@4" Function GetActiveWindow%() End Extern Then... Function update:Object( id,Data:Object,context:Object ) PollEvent() Select CurrentEvent.id Case EVENT_MOUSELEAVE,EVENT_APPSUSPEND gamestats.display.mouseInWindow = False Case EVENT_MOUSEENTER,EVENT_APPRESUME gameStats.display.mouseInWindow = True End Select 'check for maximised window If isZoomed(getActiveWindow()) If gameStats.display.depth = 0 gameStats.display.depth = 32 gameStats.display.fullScreen = True gui.changeGraphicsMode() scaling = New tScaling EndIf EndIf End Function Obviously this won't run 'as is' cos its out of my game (this function is added as a flip hook), but you get the idea. Interested if anybody has a better way... |
| ||
Any advice? WxWidgets, it's the real stuff compared to the street crack of maxgui. |
| ||
WxWidgets, it's the real stuff compared to the street crack of maxgui. That's not an option.I don't want to include a massive module just for this. I'm not using MaxGUI either, by the way. |
| ||
Ah sorry, my bad. |
| ||
That's not an option. a tad overkill, wxWidgets, I'd agree :-p |