Here's a "solution" posted by BruceR:
Put in formula:
UseZoomer = ParamToggle("Use Zoomer?", "No|Yes", 0);
#include_once <Zoomer_Include_File.afl>
put the below into your include directory:
//-------------------------------------------------------------------------------------------------- // // 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 If (UseZoomer) ZoomSync( False ); d
On Sat, Mar 21, 2009 at 5:54 PM, sidhartha70 <sidhartha70@xxxxxxxxx> wrote:
Can't be done yet. I have requested it in the feedback section... feel free to add a vote for it there....
Scroll link and/or zoom a link...
__._,_.___
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
__,_._,___
|