Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Drag&Drop на главной панели инструментов 
Author Message
Orion9



PostPosted: Sat Jun 20, 2026 13:09    Post subject: Reply with quote

Опохмелился немного с утра... Smile

В общем, если добавить одну строку между
Code:
If DragIdx < DropIdx Then
   For i = DragIdx + 1 To DropIdx

Т.е.
Code:
If DragIdx < DropIdx Then
   If gHBarMap[DropIdx-1] = -2 Then DropIdx -= 1
   For i = DragIdx + 1 To DropIdx

То теперь работает корректно, почти как у Гислера

 Hidden text

Но у Гислера все-равно лучше и правильнее. У него работает так: если при вставке кнопки указатель мыши ближе к левому краю, то вставка происходит перед этой кнопкой; если ближе к правому, то после этой кнопки. В скрипте не так. Если индекс перетаскиваемой кнопки больше индекса вставляемой кнопки, то новая кнопка встанет перед старой. Если индекс меньше, то кнопка встанет после.

Есть еще один баг, на скрине он виден. Если панель заканчивается разрывом -2, то перенос за такой разрыв приводит к потере кнопки. Для такого случая нужно отдельно вводить условие, но пока в ближайшее время не смогу поковыряться. Случай, конечно, больше надуманный, однако его тоже надо предусмотреть.

В общем, уже лучше. Но еще есть над чем работать.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group