Hi Mark,

Here is another approach using a function that respects the first column and distributes x other columns according to the width of the field:

on resizestack pNewWidth,pNewHeight,pOldWIdth,pOldHeight
 local tRect,tNumOfColumns
 -----
  put the rect of fld "Table" into tRect
  put pNewWidth - 4 into item 3 of tRect
  set the rect of fld "Table" to tRect
  -----
  put <integer> into tNumOfColumns -- columns total wanted
set the tabStops of fld "Table" to NewTabStops(the tabStops of fld "Table", tNumOfColumns,the width of fld "Table") --
end resizestack
-----------------------------------------------------
function NewTabStops pTabStops, pNumOfColumns,pFldWidth
return item 1 of pTabStops & comma & item 1 of pTabStops + round ((pFldWidth - item 1 of pTabStops) / (pNumOfColumns - 1))
end NewTabStops

There are so many ways to achieve the goal with Rev :-)

Best regards from Paris,
Eric Chatonet.

Le 18 mars 08 à 16:35, mfstuart a écrit :


Merci Eric, that worked.
Now I'll play around with that script to resize the columns, but the first
column.
Then change it so that the right most columns' right border always is at the
right most position of the field.

Regards,
Mark Stuart



Eric Chatonet wrote:

Hi Mark,

As the engine sends four params (see below) with the resizestack
message, it's quite easy to use them to achieve the goal:

on resizestack pNewWidth,pNewHeight,pOldWidth,pOldHeight
   local tRect,tTabStops,tTabStop,tNewTabStops
   -----
   put the rect of fld "Table" into tRect
   put pNewWidth - 4 into item 3 of tRect
   -- -4: you'll use an appropriate value depending on your context
   set the rect of fld "Table" to tRect -- resizes the field
   ------
   put the tabStops of fld "Table" into tTabStops
   repeat for each item tTabStop in tTabStops
     put round(tTabStop * (pNewWidth / pOldWidth)) & comma after
tNewTabStops
     -- a value in pixels (integers) according to the ratio between
pNewWidth and pOldWidth
   end repeat
   delete last char of tNewTabStops -- comma
   set the tabStops of fld "Table" to tNewTabStops
end resizestack

See tabStops in the docs :-)

Best regards from Paris,
Eric Chatonet.

Le 17 mars 08 à 17:35, mfstuart a écrit :

Hi All,

I'm trying to apply this to my project, where I'm using a table
field object
to display data with several columns.

What I'd like to do:
Upon the user resizing the stack (the width in this case), I would
like to
resize the table columns proportionally. The table object is currently
resized in the stacks "on resizeStack" script.
So this would involve adjusting each item in the tabStops of the table
field, during the resizeStack script.

How do I do this?

TIA,
Mark Stuart

----------------------------------------------------------------
Plugins and tutorials for Revolution: http://www.sosmartsoftware.com/
Email: [EMAIL PROTECTED]/
----------------------------------------------------------------


_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to