[comp.sys.mac.programmer] Window Zooming is a mystery to me

audit038@spacm1.spac.spc.com (02/20/91)

I'm trying to implement zoomable windows in my application, but I don't 
understand the magic.  It works but I don't understand why.  When I use
Think C's debugger to look at the window record I see the spareFlag set to
1 ( I have a zoomable window ) but I can't see the two rectangles that 
dataHandle suposedly references.  I dereference the handle twice and it points
to 0 not a structure of two rectangles.  If I wanted to change the userState
rectangle, how do I refer to it in C?

In the CTESample from DTS they have a zoomable window with no means of support.
I see no references to the rectangles, and yet the window just zooms all over
the place.  Does the SizeWindow() routine change the userState?

I hate to have this work without knowing what's going on.  After looking at
source code, technical notes, and IM I'm at a loss, can anyone throw some
light on the subject?


-- 
John Coffman

Lawson.English@p88.f15.n300.z1.fidonet.org (Lawson English) (02/25/91)

audit038@spacm1.spac.spc.com writes in a message to All

A> 'm trying to implement zoomable windows in my application, but 
A> I don't understand the magic. It works but I don't understand 
A> why. When I use Think C's debugger to look at the window record 
A> I see the spareFlag set to 1 ( I have a zoomable window ) but 
A> I can't see the two rectangles that dataHandle suposedly references. 
A> I dereference the handle twice and it points to 0 not a structure 
A> of two rectangles. If I wanted to change the userState rectangle, 
A> how do I refer to it in C? 

Check in the Think  Class Libraries. Under either CDesktop or CWindows there
is a method to zoom windows. Look at the source for how it's done there...


Lawson
 

--  
Uucp: ...{gatech,ames,rutgers}!ncar!asuvax!stjhmc!300!15.88!Lawson.English
Internet: Lawson.English@p88.f15.n300.z1.fidonet.org