Re: TabItem and controls as array

new topic     » goto parent     » topic index » view thread      » older message » newer message

Just a note to people using Win32lib.

You must not make any assumptions on the sequence of numbers used in
creating control ids.

For example:

  fld1 = create(...)
  fld2 = create(...)

You cannot assume that fld2 will be (fld1 + 1).

Up until recently, the probabilty would that ids are created sequentially,
but that is definitely not the case with the next win32lib version.

Consequently, code like this ...

   for i = fld1 to fld4 do ...

is meaningless and should be avoided.

An alternate way is this...

   sequence xx
   xx = {fld1, fld2, fld3, fld4}
   for i = 1 to length(xx) do
      workon(xx[i])
   end for

----------------
cheers,
Derek Parnell
----- Original Message -----
From: "Judith Evans" <camping at txcyber.com>
To: "EUforum" <EUforum at topica.com>
Sent: Monday, September 16, 2002 1:52 AM
Subject: RE: TabItem and controls as array


>
> Since this ran ok with win32lib v0.57.9 but not with later versions, I'm
> going to work with Derek directly on this one and not via Topica.
>
>
> Derek Parnell wrote:
> > Judith,
> > I'm unclear on one point.
> >
> > How are the control IDs getting into this array?
> >
> > I ask this because if you are using findChildren(TabItemX) you will get
> > all
> > controls that are in the TabControl, not just the TabItem you specified.
> >
> > If, however, you are explicitly placing the items created for a given
> > tabitem, then I'm at a loss to explain the effect.
> >
> > Is it possible you can supply a small test program that demostrates the
> > problem?
> >
> > ----------------
> > cheers,
> > Derek Parnell
> > ----- Original Message -----
> > From: "Judith Evans" <camping at txcyber.com>
> > To: "EUforum" <EUforum at topica.com>
> > Sent: Sunday, September 15, 2002 8:32 PM
> > Subject: TabItem and controls as array
> >
> >
> > > Maybe someone can give me a tip.
> > >
> > > I've got a TabControl with many TabItems. On one tab I have a set of
29
> > > controls. The information that goes into these controls is variable so
> > > the easy way to deal with them is to treat the controls as an array.
In
> > > my program I can then say things like for i=control_1 to control_nn
> > > do.... or setText(control_1+5, "something")
> > >
> > > What is happening is that controls from other tabs, which happen to be
> > > on their tabs positioned within the x,y range of the controls I am
> > > dealing with, get picked up in the for loop. I'm guessing to win32lib
or
> > > windows all the controls are really on the TabControl; otherwise I can
> > > not explain what is happening.
> > >
> > > Instead of using 29 statements to load the controls, does anyone have
an
> > > idea around this problem?
> > >
> > >
>
>
>

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu