Thread: Fixed Bug 3.0 Beta 6 Beta 5 Major Issues
View Single Post
Old 11-14-2008, 02:34 PM   #42
rps
Registered
 
Join Date: Oct 2008

Posts: 57
>>You might just have to throw it away and go with a permanent title bar, Jim.

I've been following this thread, and now I've spent some time playing with this in Vista, and I have some comments and a suggestion:

comment: the size of the window without the title bar is not the issue; Jim IS calculating the size of the title bar correctly, and the size of the window sans title bar is the correct size and in the correct position (as near as I can tell without measuring it.) Instead, the problem seems to have something to do with Vista itself, probably forcing the window to repaint itself when the title bar is removed (before the window has been resized and repositioned). A possible way to deal with this would be to set a flag "changingWindow" before removing the title bar, and then clearing it only after the window has been resized. You can intercept any window paint messages, and ignore them if this flag is set. (Or having the drawing code just not paint anything if the flag is set.)

suggestion: I think the better interface option (IMHO) would be to dispense with the timer-based hiding/showing of the title bar; instead, I would show the title bar if MA3 has the focus, and hide the title bar when the application loses the focus.

suggestion 2: An alternative is to explicitly specify in the program settings whether MA3 should have a title bar in windowed mode. (A checkbox, default unchecked, for example: "[ ] Do not display title bar in windowed mode." I've written applications before that do not have a title bar, and I allow them to be moved by dragging the window as a whole. (Mouse down anywhere in the window, drag and move the window, and release.) As for the other functions available from the title bar, they could made available via a right-click pop-up window. Intuitively, if I have a window with no title bar, and no buttons, and I want to do anything with it (such as close/maximize it), my first instinct is to right-click, and see if I get a pop-up window.) This approach works well (I think) for both novice and experienced users, and should help simplify the code quite a bit (by eliminating all of the timing stuff.)

~Ralph S.
rps is offline   Reply With Quote