nesco, поправил файлы MST_DragRowManager используя твой последний hiMTStrTbl.pas. Будет время и желания посмотри архив (в первом посте с пометкой МЕНЕДЖЕР) в этой теме: MST_DragRow Перетаскивание строки таблицы
Этот топик читают: Гость
Ответов: 2443
Рейтинг: 693
|
|||
карма: 11 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
Да, обязательно посмотрю, как будет время
|
|||
карма: 22 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
Посмотрел пока что код. И нашел то, что некорректно перемещается кортеж. Точнее, он вообще не перемещается. Основу перемещения надо было брать из методов UpRow и DownRow элемента MST_RowAction
Вот эта схема работает правильно, хотя и не имеет графического отображения перемещаемой строки и сделана на рассыпухе ![]()
--- Добавлено в 2025-07-18 16:10:06 Как будет немного свободного времени, я попробую заняться этим вопросом. Редактировалось 3 раз(а), последний 2025-07-18 16:10:06 |
|||
карма: 22 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
И точно надо таскать PaintBox по экрану или достаточно обычного перемещения селектора по направленью мыши, как в примере?
Хотя, признаюсь, я нашел, как ты копируешь данные хвоста и передаешь их в таблицу. Но че-то как-то все очень сложно, да и нужно ли? Полупрозрачность ты все равно не сможешь сделать на контроле, только на форме Редактировалось 2 раз(а), последний 2025-07-18 22:51:02 |
|||
карма: 22 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
Кстати, о птичках, про твой компонент.
Ты удаляешь строку
Где вот такое у тебя перед удалением строки?
Редактировалось 2 раз(а), последний 2025-07-19 00:30:43 |
|||
карма: 22 |
|
Ответов: 2443
Рейтинг: 693
|
|||
nesco писал(а): И точно надо таскать PaintBox по экрану или достаточно обычного перемещения селектора по направленью мыши, как в примере?-можно нарисовать что-то (рамку, фон и т.п.) -плавное перемещение -можно применить регионы (обрезать). nesco писал(а): КМК, за основу кода надо взять схему на рассыпухе и портировать ее в элемент.nesco писал(а): СхемаИ еще хорошо бы чтоб было MouseCapture при перетаскивании строки, а то при выходе курсора за границы таблицы, перестает OnMouseMove работать. Редактировалось 1 раз(а), последний 2025-07-21 19:20:03 |
|||
карма: 11 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
Я продолжаю исследования. Пока что получилось сделать по твоим мотивам плавное перетаскивание, и, кстати, я добился перетаскивания контрола без захвата мыши, просто перемещением курсора с нажатой кнопкой.
Там проводится исследование сабклассинга и прочей чешуи. Я хочу получить перетаскивание аля HandleDragDrop Единственное, что пока не работает, так это совместная работа с MST_DrawManager. Метод по моей схеме получился всего на пару строк кода, но с портированием методов UP и Down в саму таблицу универсальным методом. Но это не интересно ![]() Редактировалось 4 раз(а), последний 2025-07-22 00:56:34 |
|||
карма: 22 |
|
Ответов: 2443
Рейтинг: 693
|
|||
nesco писал(а): Единственное, что пока не работает, так это совместная работа с MST_DrawManager |
|||
карма: 11 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
карма: 22 |
|
Ответов: 2443
Рейтинг: 693
|
|||
Подразнил гифкой и тишина
![]() |
|||
карма: 11 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
sla8a писал(а): Подразнил гифкой и тишинаПроходится долгий путь тестирования и оптимизации ![]() Блин, никак не могу побороть небольшие артефакты отрисовки. И очень даже возможно, что текущие возможности не дадут этого сделать. Тч, в скором времени выложу. Редактировалось 1 раз(а), последний 2025-07-31 14:10:37 |
|||
карма: 22 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
Ладно, пока вот так -- https://forum.hiasm.com/getfile/40598
Пример, на всякий случай ![]()
Редактировалось 2 раз(а), последний 2025-08-03 13:52:31 |
|||
карма: 22 |
| ||
файлы: 1 | MST_RowDragDrop_001.zip [29.1KB] [60] |
Ответов: 946
Рейтинг: 199
|
|||
nesco, Мне больше понравился способ создание иконок «на лету».
Я пока не вижу никакой необходимости в перетаскивании строк мышкой. Если таблица небольшая, то и так всё видно. По-моему, чаще нужна сортировка. А если в таблице несколько тысяч строк – тем более. Если уж припрёт, то всегда можно сделать, как говорят, «на рассыпухе». |
|||
карма: 19 |
|
Ответов: 2443
Рейтинг: 693
|
|||
nesco, в архиве нет ini файла.
|
|||
карма: 11 |
|
Разработчик
Ответов: 26313
Рейтинг: 2146
|
|||
sla8a писал(а): в архиве нет ini файлаВобла. Забыл добавить ![]()
Редактировалось 1 раз(а), последний 2025-08-04 16:21:40 |
|||
карма: 22 |
|