[comp.sys.mac.programmer] Think C CPanoramas

craig@pangea.Stanford.EDU (Craig Jarchow) (01/04/91)

I have a question regarding the Think-C Class Library.

I have an instance of the CPane class which is attempting to resize its
enclosing CPanorama. To do this, my CPane object issues the following
messages to the CPanorama:

      ((CPanorama *)itsEnclosure)->ResizeFrame(&deltaRamaRect);
      ((CPanorama *)itsEnclosure)->GetFrame(&theRamaFrame);
      ((CPanorama *)itsEnclosure)->SetBounds(&theRamaFrame);

The CPanorama's frame seems to be properly sized by these calls, but my
scroll bars go blank and are inoperative.

Any ideas what I am doing wrong?

Thanks,
Craig.

gmarzot@mbunix.mitre.org (Gio Marzot) (01/04/91)

In article <1991Jan4.065642.13087@morrow.stanford.edu> 
craig@pangea.Stanford.EDU (Craig Jarchow) writes:
> I have an instance of the CPane class which is attempting to resize its
> enclosing CPanorama. To do this, my CPane object issues the following
> messages to the CPanorama:
> 
>       ((CPanorama *)itsEnclosure)->ResizeFrame(&deltaRamaRect);
>       ((CPanorama *)itsEnclosure)->GetFrame(&theRamaFrame);
>       ((CPanorama *)itsEnclosure)->SetBounds(&theRamaFrame);
> 
> The CPanorama's frame seems to be properly sized by these calls, but my
> scroll bars go blank and are inoperative.

I've been using the TCL in pascal for a couple months now so as one 
begginner to another this is my guess.  If the panorama's dimensions are 
being reduced so that the entire panorama can be viewed in its enclosure, 
the scroll pane, then the scroll bars are deactivated. As a check you 
might examine the dimensions of the panorama relative to its enclosure. 
You also might try sizing the window down and see if the bars become 
active again. I'll be curious to know how it goes - GoodLuck   , GSM

Responsibility for the views expressed here
belongs only to myself and not to any organization.

Lawson.English@p88.f15.n300.z1.fidonet.org (Lawson English) (01/06/91)

Craig Jarchow writes in a message to All

 ((CPanorama *)itsEnclosure)->ResizeFrame(&deltaRamaRect);
 ((CPanorama *)itsEnclosure)->GetFrame(&theRamaFrame);
 ((CPanorama *)itsEnclosure)->SetBounds(&theRamaFrame);
CJ>  The CPanorama's frame seems to be properly sized by these calls, 
CJ> but my scroll bars go blank and are inoperative. 
CJ> Any ideas what I am doing wrong

Try resizing the window (assuming that you have sizElastic set) and see if the
scrollbars are activated once you shrink the window. All may be well, but you've
just resized the bounds to not need scrolling, or, something is worng adn I
hvae no ieda waht. ;-)


Lawson
 

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

guelzow@ccu.umanitoba.ca (Andreas J. Guelzow) (01/06/91)

In article <1991Jan4.065642.13087@morrow.stanford.edu> craig@pangea.Stanford.EDU (Craig Jarchow) writes:
>I have an instance of the CPane class which is attempting to resize its
>enclosing CPanorama. To do this, my CPane object issues the following
>messages to the CPanorama:
>
>      ((CPanorama *)itsEnclosure)->ResizeFrame(&deltaRamaRect);
>      ((CPanorama *)itsEnclosure)->GetFrame(&theRamaFrame);
>      ((CPanorama *)itsEnclosure)->SetBounds(&theRamaFrame);
>
>The CPanorama's frame seems to be properly sized by these calls, but my
>scroll bars go blank and are inoperative.
>
>Any ideas what I am doing wrong?
>
After these calls the Frame of the Panorama is equal to its bounds, as
a result there is no reason to scroll and the scrollbars will be
deactivated. Obviously the programme does what you tell it to do...
Now what did you plan to do? If you only want to change the frame
(i.e. what is visible) then don't touch the bounds. If you change the
bounds then you are also adjusting the real size of the panorama!

>Thanks,
>Craig.

You are welcome.

Andreas Guelzow
<guelzow@ccu.umanitoba.ca>