Orion9

|
Posted: Sat Jul 18, 2026 00:36 Post subject: |
|
|
| sa wrote: | | В окошке подтверждения удаления дополнительно указал количество кнопок в группе (Удалить группу кнопок: 12шт?) |
Хорошая идея. Тоже добавил. Только сообщение немножко другое.
| sa wrote: | | Я ещё и подтверждения убрал |
Да, теперь я понял задумку — сверхскоростное удаление! Удобно получилось Но, имхо, последнее сообщение я бы все же оставил, а то мало ли. К тому же, так можно сбросить диапазон, если вдруг понял, что граница неправильно выбрана. Хотя и откаты есть.
Я добавил параметр AskFor, для скрытия/показа диалога. В будущем можно будет опцию сделать, если понадобится. Но по-моему, без двух лишних сообщений работает прекрасно
| sa wrote: | | чем не одна операция?! |
Согласен. Прикольно получилось и удобно.
 Hidden text | Code: | Global gHBarMark1 = 0, gHBarMark2 = 0
Func HBarMarkToDelete()
Local InfoMsg, sMenu, AskFor = 0
If gHBarLoadError Or gHBarList.Count = 0 Then
InfoMsg = "Панель не загружена"
ElseIf FileGetTime(gHBarFile) <> gHBarFileTs Then
InfoMsg = "Файл панели изменился"
Endif
If InfoMsg <> "" Then
ShowDragHint(InfoMsg)
Return
Endif
HBarCreateColor()
If Not gHBarMark1 Then
gHBarMark1 = HBarGetIdx()
If gHBarMark1 < 1 Then
gHBarMark1 = 0
Return
EndIf
If AskFor Then
IniRead sMenu %gHBarFile% "Buttonbar" %'"menu" & gHBarMark1' "<>"
MsgBox("Индекс: " & gHBarMark1 & auCRLF & sMenu & auCRLF & auCRLF & _
"Задать начало диапазона?", "Autorun", 3+64+0)
If EXTENDED <> 6 Then gHBarMark1 = 0
EndIf
Return
Endif
If Not gHBarMark2 Then
gHBarMark2 = HBarGetIdx()
If gHBarMark2 = gHBarMark1 Then
gHBarMark2 = 0
Return
EndIf
If AskFor Then
IniRead sMenu %gHBarFile% "Buttonbar" %'"menu" & gHBarMark2' "<>"
MsgBox("Индекс: " & gHBarMark2 & auCRLF & sMenu & auCRLF & auCRLF & _
"Задать конец диапазона?", "Autorun", 3+64+0)
If EXTENDED <> 6 Then
gHBarMark2 = 0
Return
EndIf
EndIf
Endif
Local nHBarMark1 = Min(gHBarMark1, gHBarMark2)
Local nHBarMark2 = Max(gHBarMark1, gHBarMark2)
MsgBox("Диапазон: " & nHBarMark1 & "-"& nHBarMark2 & auCRLF & auCRLF & _
"Удалить группу из " & nHBarMark2 - nHBarMark1 + 1 & " кнопок?", "Autorun", 3+64+0)
If EXTENDED <> 6 Then
ShowDragHint("Диапазон сброшен")
Else
# удаление
HBarBreakErase(nHBarMark1, nHBarMark2+1)
EndIf
gHBarMark1 = 0
gHBarMark2 = 0
EndFunc |
 Hidden text |
|