Я хочу настроить пользовательский элемент управления, в котором ввод движения мыши может быть уточнен с помощью коэффициента масштабирования.Поведение будет таким, что, находясь вне элемента управления, движение мыши будет нормальным, но внутри элемента управления любая дельта позиции, обеспечиваемая мышью, скажем, делится на 10, и курсор движется гораздо медленнее в направлении, даже в идеале насубпиксельный уровень.Может случиться так, что поведение обусловлено нажатием клавиши.
Решение должно будет:
- захватить ввод движения мыши,
- отменить любую нормальнуюобрабатывая,
- измерьте расстояние по осям x и y, о котором сообщила мышь и которое обычно было бы просто добавлено к координатам указателя,
- сохраняют точную новую координату с плавающей точкой, затем
- в идеале скрыть указатель,
- перерисовать указатель в подпиксельных координатах, а
- сообщить приблизительные целочисленные координаты обратно операционной системе, чтобы он знал, когда указатель может покинуть элемент управления.
Что-то, что я заметил, это то, что Console.Writeline()
, кажется, мешает Cursor.Position
, предполагая, что опубликованное значение курсора включает также координаты текстового курсора.Это до сих пор усложняло мои решения.В общем, я думаю, что слишком поздно вмешиваюсь, чтобы иметь возможность влиять на мышь так, как я хотел бы, и принять решение, возможно, потребует более глубоких вызовов Windows.