Specifically Bruce, I have say 10 Charts open across two monitors, and I actually want to 'zoom link' just 4 of them, leaving all the others completely unaffected.
Is that possible...? --- In [email protected], "sidhartha70" <sidharth...@...> wrote: > > Thanks Bruce. > > Unfortuantely it doesn't seem to work for me... I end up with some > very strange behaviour. Windows zooming in and out at will, > independently... > > Maybe it's screen setup dependent...?? > > > > --- In [email protected], "bruce1r" <brucer@> wrote: > > > > Had done it before, so until Tomasz gets to it - > > > > > //-------------------------------------------------------------------------------------------------- > > // > > // This function checks the current display range, and if it has > > changed, it > > // synchronizes all other windows (documents) to that range. > > // > > // To use, #include this file in an indicator in each window > > (document) to be > > // synchronized. Normally it sync's other windows (documents) when > > the caller's > > // displayed date range changes, but it has an optional parameter to > > force a re-sync. > > // > > // NOTE - the only downside is that the blank bars on the right > side are > > // removed by the ZoomToRange method > > // > > // Bruce R - 12/10/08 > > // > > > //-------------------------------------------------------------------------------------------------- > > > > function ZoomSync( force ) > > { > > // All variables are made local to guarantee naming collisions or > > side effects > > local bv, dr, Curstdt, Curenddt, prevstdt, prevenddt, > > Curststr, > > Curendstr; > > local OAB, OAD, dcount, i, OADoc, OAW, OADocWin, res; > > > > // Get a count of the number of documents > > OAB = CreateObject( "Broker.Application" ); > > OAD = OAB.Documents; > > dcount = OAD.Count; > > > > // Process multiple windows (documents) > > res = False; > > if ( dcount > 1 ) > > { > > // Get current and last start and end DateTimes's > > bv = Status( "barvisible" ); > > dt = DateTime( ); > > Curstdt = LastValue( Lowest( IIf( bv, dt, LastValue( dt > > ) ) ) ); > > Curenddt = LastValue( Highest( IIf( bv, dt, 0 ) > > ) ); > > prevstdt = Nz( StaticVarGet( "_prevstdt" ) ); > > prevenddt = Nz( StaticVarGet( "_prevenddt" ) ); > > > > // Check for a new date/time range > > if ( ( Curstdt != prevstdt OR Curenddt != prevenddt ) OR force ) > > { > > // Set the new last values > > StaticVarSet( "_prevstdt", Curstdt ); > > StaticVarSet( "_prevenddt", Curenddt ); > > > > Curststr = DateTimeToStr( Curstdt ); > > Curendstr = DateTimeToStr( Curenddt ); > > > > // Loop through the document collection > > for ( i = 0; i < dcount; i++ ) > > { > > // If it is not the active document - > > OADoc = OAD.Item( i ); > > > > // NOTE - it doesn't hurt to sync the current > > window and it > makes all > > // windows have no blank bars on the > > right so they look > > the same > > //if ( OADoc != OAB.ActiveDocument ) > > { > > // Get the document window and zoom to > > range > > //_TRACE( " Zoom to range document - " > > + i + " , " + Curststr + > > " - " + Curendstr ); > > OADW = OADoc.Windows; > > // Document window count assumed to be > > 1 > > OADocWin = OADW.Item( 0 > > ); > > OADocWin.ZoomToRange( Curststr, > > Curendstr ); > > } > > } > > res = True; > > } > > } > > return res; > > } > > > > // Call for synchronization > > ZoomSync( False ); > > > > > > > > --- In [email protected], "sidhartha70" <sidhartha70@> wrote: > > > > > > TJ, > > > > > > Would 'zoom link' functionality be difficult to implement...? > > > > > >
