protected virtual bool PreProcessWmKeyDown_Back(ref Message m)
{
if (!_hexBox._byteProvider.SupportsDeleteBytes())
return true;
if (_hexBox.ReadOnly)
return true;
long pos = _hexBox._bytePos;
long sel = _hexBox._selectionLength;
int cp = _hexBox._byteCharacterPos;
long startDelete = (cp == 0 && sel == 0) ? pos - 1 : pos;
if (startDelete < 0 && sel < 1)
return true;
long bytesToDelete = (sel > 0) ? sel : 1;
_hexBox._byteProvider.DeleteBytes(Math.Max(0, startDelete), bytesToDelete);
_hexBox.UpdateScrollSize();
if (sel == 0)
PerformPosMoveLeftByte();
_hexBox.ReleaseSelection();
_hexBox.Invalidate();
return true;
}