Первый блин со стороны ADN DevHelp оказался комом.
Они предложили вариант с установкой setGripOpStatFunc(GripOpStatus), а в GripOpStatus запоминать какая ручка начинает "работать" при kGripStart:
//change 1
void GripOpStatus(AcDbGripData* pThis, const AcDbObjectId& entId, AcDbGripOperations::GripStatus stat)
{
if (stat == AcDbGripOperations::GripStatus::kGripStart)
idxGrips = *(int *)pThis->appData();
}
Увы, но это не помогло, так как при выборе любой из ручек этот метод вызывается дважды со значениями обеих ручек. Причем порядок вызова не зависит от того, какая ручка была выбрана.
Это хорошо видно на этом видео:
Так что будем ждать другие варианты решения.