private void MapViewerCellEdit_KeyDown(object sender, KeyEventArgs e)
{
if (sender is TextEdit)
{
TextEdit txtedit = (TextEdit)sender;
if (e.KeyCode == Keys.Add)
{
e.SuppressKeyPress = true;
e.Handled = true;
//if (IsHexMode)
if (m_viewtype == ViewType.Hexadecimal)
{
int value = Convert.ToInt32(txtedit.Text, 16);
value++;
if (value > m_MaxValueInTable) m_MaxValueInTable = value;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
txtedit.Text = value.ToString("X4");
}
else
{
if (value > 0xFF) value = 0xFF;
txtedit.Text = value.ToString("X2");
}
}
else
{
int value = Convert.ToInt32(txtedit.Text);
value++;
if (value > m_MaxValueInTable) m_MaxValueInTable = value;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
txtedit.Text = value.ToString();
}
else
{
if (value > 0xFF) value = 0xFF;
txtedit.Text = value.ToString();
}
}
}
else if (e.KeyCode == Keys.Subtract)
{
e.SuppressKeyPress = true;
e.Handled = true;
//if (IsHexMode)
if (m_viewtype == ViewType.Hexadecimal)
{
int value = Convert.ToInt32(txtedit.Text, 16);
value--;
if (value < 0) value = 0;
if (m_issixteenbit)
{
txtedit.Text = value.ToString("X4");
}
else
{
txtedit.Text = value.ToString("X2");
}
}
else
{
int value = Convert.ToInt32(txtedit.Text);
value--;
if (value < 0) value = 0;
if (m_issixteenbit)
{
txtedit.Text = value.ToString();
}
else
{
txtedit.Text = value.ToString();
}
}
}
/*else if (e.KeyCode == Keys.PageUp)
{
e.Handled = true;
foreach (DevExpress.XtraGrid.Views.Base.GridCell gc in cellcollection)
{
if (IsHexMode)
{
int value = Convert.ToInt32(gridView1.GetRowCellValue(gc.RowHandle, gc.Column).ToString(), 16);
value += 0x10;
if (value > m_MaxValueInTable) m_MaxValueInTable = value;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X4"));
}
else
{
if (value > 0xFF) value = 0xFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X2"));
}
}
else
{
int value = Convert.ToInt32(gridView1.GetRowCellValue(gc.RowHandle, gc.Column).ToString());
value += 10;
if (value > m_MaxValueInTable) m_MaxValueInTable = value;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
else
{
if (value > 0xFF) value = 0xFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
}
}
}
else if (e.KeyCode == Keys.PageDown)
{
e.Handled = true;
foreach (DevExpress.XtraGrid.Views.Base.GridCell gc in cellcollection)
{
if (IsHexMode)
{
int value = Convert.ToInt32(gridView1.GetRowCellValue(gc.RowHandle, gc.Column).ToString(), 16);
value -= 0x10;
if (value < 0) value = 0;
if (m_issixteenbit)
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X4"));
}
else
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X2"));
}
}
else
{
int value = Convert.ToInt32(gridView1.GetRowCellValue(gc.RowHandle, gc.Column).ToString());
value -= 10;
if (value < 0) value = 0;
if (m_issixteenbit)
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
else
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
}
}
}
else if (e.KeyCode == Keys.Home)
{
e.Handled = true;
foreach (DevExpress.XtraGrid.Views.Base.GridCell gc in cellcollection)
{
if (IsHexMode)
{
int value = 0xFFFF;
if (m_issixteenbit)
{
value = 0xFFFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X4"));
}
else
{
value = 0xFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X2"));
}
if (value > m_MaxValueInTable) m_MaxValueInTable = value;
}
else
{
int value = 0xFFFF;
if (m_issixteenbit)
{
value = 0xFFFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
else
{
value = 0xFF;
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
if (value > m_MaxValueInTable) m_MaxValueInTable = value;
}
}
}
else if (e.KeyCode == Keys.End)
{
e.Handled = true;
foreach (DevExpress.XtraGrid.Views.Base.GridCell gc in cellcollection)
{
if (IsHexMode)
{
int value = 0;
if (m_issixteenbit)
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X4"));
}
else
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString("X2"));
}
}
else
{
int value = 0;
if (m_issixteenbit)
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
else
{
gridView1.SetRowCellValue(gc.RowHandle, gc.Column, value.ToString());
}
}
}
}*/
}
}