Dynamics AX 4.0
Доброго всем время суток. Подскажите, пожалуйста, по следующему вопросу.
Мне надо реализовать переход по полям грида с помощью стрелочек на клавиатуре.
Я это сделал перекрыв метод task на форме:
X++:
public int task(int _taskId)
{
#define.TaskLeft(1283) // Налево
#define.TaskRight(1284) // Направо
int ret;
int num;
switch ( _taskId)
{
case #TaskRight:
this.design().control(element.selectedControl().id()+1).setFocus();
break;
case #TaskLeft:
this.design().control(element.selectedControl().id()-1).setFocus();
break;
default:
ret = super(_taskId);
break;
}
return ret;
}
Проблема: хотелось бы оставить возможность перемещаться стрелками по тексту внутри контролов (полей). Т.е. если курсор позиционируется на строковое поле, передвигаемся с помощью стрелок в конец/начало строки и только после достижения конца/начала перепрыгиваем на следующий/предыдущий контрол (поле) грида.
Вопросы:
- Как понять в каком месте (позиция) конкретного контрола находиться курсор?
- М.б. эту задачу можно решить другим способом?