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 );
}
}