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