Understanding window client area

BlitzMax Forums/BlitzMax Beginners Area/Understanding window client area

Brucey(Posted 2006) [#1]
Hallo.

I'm just trying to understand what the client area (width / height) of a window is meant to represent.

I assumed it was meant to give the area where we are allowed to place our gadgets, and hence it would take into account the following :
* the height would be less if we have a menu
* the height would be less if we have a statusbar
* the height would be less if we have a toolbar

Are any of the above *not* true?


Dreamora(Posted 2006) [#2]
All true
Plus there is stuff like borders that reduces the client area


Brucey(Posted 2006) [#3]
So, if I have 4 windows of the same size, 1 with none of the above, and then each of the others adding menu, status and toolbar (where window 4 has all of them), each window ClientHeight() should be smaller than the last?

Or should a toolbar be considered a "proper" gadget and not counted as part of the client area??


I know I could test this on say, win32, but I am just after the theory as to what *should* happen - so I know I'm doing it right myself...

thanks :-)


Dreamora(Posted 2006) [#4]
Yes it should be smaller at least on status and menu bar as those hook into the window and are no gadgets. Don't know for toolbars, as they normally are a gadget like others as well.

One thing to mention is: The difference OS work a little different with all this stuff. Especially apple has quite strict rules on what is allowed and what not (oversized buttons with few text for example won't be the size you define them etc).

So best thing to do is really test it out.


SebHoll(Posted 2006) [#5]
In my experience, on Windows, toolbars are considered as you say, "proper gadgets" and aren't taken into account with ClientHeight(). However, toolobars are taken into account with ClientHeight() etc. on Mac. I think the Mac way makes more sense...