Orion9

|
Posted: Fri May 01, 2026 12:36 Post subject: |
|
|
FallenAngel
Это еще одна проблема. Записать ключи в INI недостаточно, нужно еще как-то подстимулировать тотал, чтобы он их перечитал, но, к сожалению, это не всегда удается.
Иногда помогают специальные команды cm_ReloadBarIcons, cm_ReloadFileIcons или cm_RereadSource, но в данном случае они не работают. Навскидку работает:
1) Для панели инструментов
- скрыть и заново отобразить панель
2) Для файловой панели
- сменить режим просмотра (можно потом вернуть свой)
Может еще что-то есть, но я глубоко не проверял.
Если применить эти команды (из пунктов 1 и 2), то главное окно ТС (скорее всего) будет неприятно дергаться и перерисовываться. Чтобы этого не происходило, можно заблокировать окно перед выполнением команд и затем снова его разблокировать:
| Code: | SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
...
команды
команды
...
Sleep(50)
SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
WinRedraw(1) |
Значение Sleep нужно подобрать под себя, оптимальное. Поскольку команды выполняются несинхронно с Autorun, он их не ждет и движется дальше. Может получится так, что окно разблокируется раньше, чем команды завершились, это сведет на нет саму блокировку, т.е. окно все-равно будет перерисовываться перед глазами.
Нет никаких гарантий, что все получится. Т.ч. вариант с перезагрузкой вполне себе вариант, хоть и крайний. |
|