Вверх ↑
Разработчик
Ответов: 26313
Рейтинг: 2146
#1: 2025-08-11 15:26:06 ЛС | профиль | цитата
sla8a писал(а):
Зачем при начале перетаскивания строка остается видимой (та что не под курсором, а в самой таблице)?

Селект должен обязательно остаться в таблице, иначе алгоритм работать не будет. Перемещение привязано к селекту. Это обязательное условие. Тут я ничего переделывать не буду. Могу только заблокировать клавиши на время перемещения.

--- Добавлено в 2025-08-11 15:32:15

По первому -- да, что-то такое есть, мышь действительно улетает за пределы таблицы, но если вернуться в таблицу, то строка возвращается в видимое состояние внутри таблицы и нормально перемещается. Единственное что, так это слетает зона захвата внутри строки перемещения. Да и скролл у меня работает. Те, что ты написал я в точности повторить не смог. Пока непонятно, как это заблокировать и надо ли вообще. Кстати, перемещение столбцов не ограничивает перемещение мыши, и это системная функция. И я подумываю сделать так же. Те в будущем будет работать так, как ты описал, и мышь будет уходить за пределы таблицы в любое место. Так работает системная функция, и так же должно работать у нас. Привязать мышь с субконтролу была моя идея, и, похоже, это было сделано зря.

--- Добавлено в 2025-08-11 15:58:39

Вот блокировка клавиш в WndProcTabGrid на момент перемещения:

      WM_KEYDOWN:
begin
if InitDrag then
begin
Result := true;
exit;
end;

--- Добавлено в 2025-08-11 16:17:45

sla8a писал(а):
С двойной буферизации тормозит и загружает процессор (Intel D935) на 50%, без редко до 40%

Да тестовая машина у тебя конечно сильная
Проц 2007 года, сильно, это когда на дворе 2025.
карма: 22

0
Редактировалось 14 раз(а), последний 2025-08-11 16:17:45