private void m_picReport_KeyDown(int keyCode, int shift) {
cReportAspect aspect = null;
try {
// only process arrow keys
switch (keyCode) {
case (int)Keys.Up:
break;
case (int)Keys.Down:
break;
case (int)Keys.Left:
break;
case (int)Keys.Right:
break;
default:
return;
}
float x = 0;
float y = 0;
if (m_vSelectedKeys.Length < 1) { return; }
if (!m_keyboardMove) {
aspect = m_paint.getPaintObject(m_vSelectedKeys[1]).getAspect();
y = aspect.getTop();
x = aspect.getLeft();
}
else {
y = m_y;
x = m_x;
}
// resize
//
if (Control.ModifierKeys == Keys.Shift) {
if (m_keySizing == "") {
m_keySizing = m_paint.getPaintObject(m_vSelectedKeys[1]).getKey();
}
if (!m_keyboardMove) {
aspect = m_paint.getPaintObject(m_vSelectedKeys[1]).getAspect();
y = y + aspect.getHeight();
x = x + aspect.getWidth();
pSetMovingFromKeyboard(x, y);
if (m_keySizing == "") {
m_keySizing = m_paint.getPaintObject(m_vSelectedKeys[1]).getKey();
}
switch (keyCode) {
case (int)Keys.Down:
case (int)Keys.Up:
m_keyMoving = "";
m_moveType = csRptEditorMoveType.CSRPTEDMOVDOWN;
break;
case (int)Keys.Right:
case (int)Keys.Left:
m_keyMoving = "";
m_moveType = csRptEditorMoveType.CSRPTEDMOVRIGHT;
break;
}
}
switch (keyCode) {
case (int)Keys.Up:
y = y - m_keyboardMoveStep;
break;
case (int)Keys.Down:
y = y + m_keyboardMoveStep;
break;
case (int)Keys.Left:
x = x - m_keyboardMoveStep;
break;
case (int)Keys.Right:
x = x + m_keyboardMoveStep;
break;
}
// move
//
}
else {
if (!m_keyboardMove) {
pSetMovingFromKeyboard(x, y);
}
if (m_keyMoving == "") {
m_keyMoving = m_paint.getPaintObject(m_vSelectedKeys[1]).getKey();
}
switch (keyCode) {
case (int)Keys.Up:
y = y - m_keyboardMoveStep;
break;
case (int)Keys.Down:
y = y + m_keyboardMoveStep;
break;
case (int)Keys.Left:
x = x - m_keyboardMoveStep;
break;
case (int)Keys.Right:
x = x + m_keyboardMoveStep;
break;
}
}
m_picReport_MouseMove(MouseButtons.Left, 0, x, y);
m_x = x;
m_y = y;
m_keyboardMove = true;
} catch (Exception ex) {
cError.mngError(ex, "m_picReport_KeyDown", C_MODULE, "");
}
}