Delphi 2007.
У меня есть TGrid с большим количеством строк, чем уместится на экране, а высота сетки такова, что внизу есть частично нарисованный ряд.
Когда я щелкаю эту частичную строку, она подпрыгивает, чтобы быть полностью видимой (через процедуру с именем 'ClampInView' в Grids.pas). Но это не останавливает. Поскольку мышь теперь находится над новой частично нарисованной строкой, она тоже прыгает вверх.
Чистый эффект заключается в том, что нажатие на частично нарисованную строку начинает выделять ячейки в вертикальном столбце, вращаясь до самого дна (или до тех пор, пока вы не отпустите кнопку мыши).
Я повторил это на новом проекте winforms с одной сеткой из 100 строк и без кода, так что я уверен, что это не то, что я делаю в коде неправильно.
Это плохо для меня, потому что форма, которую я имею в реальном коде, имеет поведение типа перетаскивания, поэтому щелчок и отпускание через ~ 0,1 секунды в неполной строке поднимет элемент в ячейке и уронит его примерно на 50 строк ниже , Это определенно не то, что вы ожидаете, когда вы нажимаете на ячейку.
Любые предложения, как это исправить / обойти это?