not sure about the answer to your question but I am sure you know about the 
code on buttons that has been published in the UKB. You might also want to 
check this library entry which I also still have to study but looks very 
interesting:

http://www.amibroker.com/members/library/formula.php?id=1175

regards, Ed





  ----- Original Message ----- 
  From: Reinsley 
  To: [email protected] 
  Sent: Saturday, November 07, 2009 6:58 PM
  Subject: [amibroker] Increase and decrease a var with two GFX buttons.


    
  Hello,

  I would like to decrease Myparam of 0.25 on each clic inside the red button.

  I complicated with static var but Myparam comes back to 5 as it is declared 
at the beginning of the formula.

  How to decrease a var with a GFX button ?

  To give an idea of what I want to do , once this point solved, my next step 
will be to increase of 0.25 the same Myparam with a Plus button to adjust a 
Fibonacci step. I will add Fibonacci code at the very end.

  AB parameters windows lacks some ergonomics in real time.

  I draw the buttons in the upper right side, after the bars, as quote marker 
will not be activate.

  Thanks for the help

  Best regards

  // draw a red square + inside click

  //SetChartOptions( 2, chartHideQuoteMarker );

  Myparam = Param( "TheValue", 5, 0, 5, 0.25 );
  StaticVarSet( "Myparamstat ", Myparam );

  Myparam = StaticVarGet( "Myparamstat " );
  _TRACE( "Myparamstat = " + Myparam );

  function DrawButton( Text, x1, y1, x2, y2, BackColor )
  {
  GfxSetOverlayMode( 0 );
  GfxSelectFont( "Tahoma", 12, 800 );
  GfxSelectPen( colorBlack );
  GfxSetBkMode( 1 );
  GfxSelectSolidBrush( BackColor );
  GfxSetBkColor( BackColor );
  GfxSetTextColor( 1 );
  GfxRectangle( x1, y1, x2, y2 );
  GfxDrawText( Text, x1, y1, x2, y2, 32 | 1 | 4 );
  }

  shift = 40;
  XOffset = StaticVarGet( "XOffset" );
  YOffset = StaticVarGet( "YOffset" );

  pxchartwidth = Status( "pxchartwidth" );
  XOffset = pxchartwidth - shift ; // X1
  YOffset = 0;//Y1
  SquareSide = 20;

  X1m = XOffset ;
  X2m = Xoffset + SquareSide ;
  Y1m = YOffset ;
  Y2m = yOffset + SquareSide ;

  DrawButton( "-", Xoffset, yOffset, Xoffset + SquareSide , yOffset + 
SquareSide , colorRed );

  LButtonTrigger = GetCursorMouseButtons() == 9;
  _TRACE( "LButtonTrigger = " + LButtonTrigger );

  if ( LButtonTrigger )
  {
  MousePx = Nz( GetCursorXPosition( 1 ) );
  MousePy = Nz( GetCursorYPosition( 1 ) );

  CursorInMinus = MousePx > X1m AND MousePx < X2m AND MousePy > Y1m AND MousePy 
< Y2m;
  _TRACE( "CursorInMinus = " + CursorInMinus );

  if ( CursorInMinus )
  {
  DrawButton( "-", Xoffset, yOffset, Xoffset + SquareSide , yOffset + 
SquareSide , colorYellow );
  Myparam = StaticVarGet( "Myparamstat " );
  Myparam = Myparam - 0.25;
  _TRACE( "Myparamstat2 = " + Myparam );
  RequestTimedRefresh( 1 );
  }
  }



  

Reply via email to