Marlin Rowley wrote:
I want to start from the beginning and work my way to what I have
now. Maybe then, I'll see some things that I didn't. :)
Let's start with the Frame and Window creation. Right now, I pass a
resolution into my script (rfxRenderView.py 320 240). Let's say it's
320x240. I expect this to be the resolution of the Window to be drawn
upon, NOT the frame that includes all the widgets. However, this is
exactly what is happening. The problem is that I call Frame's
constructor in my own child frame and I pass it the size so that the
window comes up relatively the size I want, however, the drawing
window will be a little less than that because of the Menu bar. How
do I pass the size of the Frame such that the Window gets created with
320x240, THEN the Frame builds around that (so the actually size of
the frame+window > 320x240)?
The vocabulary here is "window size" (which includes the decorations)
and "client region" (which does not). Yes, when you specify a size,
that includes the decorations. You want to specify the size of the
client region, which you can't do, directly.
Although it is possible to compute the size of each of the decorations,
it is a tedious process, because of the possibility of themes. All the
edges can vary, so you end up fetching a whole bunch of system
preferences values. The easiest solution is to fetch your assigned
window size and your assigned client size, compute the difference, and
adjust yourself accordingly. For example, try adding the following
after you create the wx.Frame:
ws = self.GetSize()
cs = self.GetClientSize()
# Bump the window size by the delta between the two.
ws.IncBy( *(ws-cs) )
self.SetSize( ws )
--
Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32