Is it possible to prevent mouse left btn down on chart from moving chart sideways for this scenario?

 

I've got a custom trade setup box built that I want the user to be able to customize with the sliders.

The sliders are a canvas obj

_topCircle = new CCanvas();
if( !_topCircle.CreateBitmap(_capi.GetChartID(), 0, "_btn_box_resizer_1", _capi.T(middleCandle), _upper.TopPrice(), _canvasSize, _canvasSize, COLOR_FORMAT_ARGB_NORMALIZE) ) { 
   printf("[%s %d] Couldn't create mid resizer object | Error %d", __FUNCTION__, __LINE__, GetLastError());
}       

I have some code that will detect mouse down + drag on these canvas objects.

if( id == CHARTEVENT_MOUSE_MOVE ) {
      if(  _mouse.IsLeftMouseBtnDown() ) {
      
         const string objMoved = _mouse.ObjectOnMouseDown();
         
         if( StringLen(objMoved) < 1 ) 
            return;
            
         if(
            objMoved == "_btn_box_resizer_1" ||
            objMoved == "_btn_box_resizer_2" ||
            objMoved == "_btn_box_resizer_3"
         ) {
            OnResizerMove(objMoved, (int) lparam, (int) dparam);
         }   
      }
...

So when the user moves the canvas objects up and down, it will resize the boxes... great I can make that happen.

However, because of the left mouse down button being pressed, and x axis movement will cause the chart to move horizontally - which unless you move the mouse absolutely perfect on the y axis, it creates a bad user experience.

I tried to combat this a little with

ChartNavigate(_capi.GetChartID(), CHART_END);

However that solution is also rough.

Is there anyway I can zero out any x-axis movement, or lock the chart in position while the sliders are being used.

Thanks very much.