Many Windows applications (games, web browsers, some editors, etc.) support fullscreen mode, in which the application's client area covers the entire screen.
As a Win32 developer, I have always implemented full-screen by
- removing the window's frames and title bar, and
- setting the window's position to (top, left, width, height) = (0, 0, screen width, screen height).
Another possibility is to keep the title bar, and set the position to (-some offset, -some offset, screen width + some offset, screen height + some offset).
I think that my solution sounds safer, in the sense that it does not depend as much on system metrics and behaviour, but I think I have seen the latter one a few times. In addtion, in many full-screen programs (such as Google Chrome, Internet Explorer, etc.), you can still use Alt+Space (or F10) to access the system menu, which indicates that the second method has been used.
But surely one major drawback of the second approach is that, on a multi-monitor system, the borders of the fullscreen window are visible on the other screens?
So my question is: which method is most appropriate and which is being used the most?