Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » фон диалога

Страниц (2): [1] 2 »
 

1. Redear - 30 Января, 2024 - 05:17:33 - перейти к сообщению
1) можно ли изменить фон базового диалога (createdialog..) с серого на какой нибудь другой цвет?
2) пробывал заливать картинку для главного окна, но кнопки,чекбоксы рисуются с дополнительным фоном, это составляет проблему.
может кто владеет информацией как это победить?
спасибо
2. Zireael - 30 Января, 2024 - 05:41:46 - перейти к сообщению
 Цитата:
можно ли изменить фон базового диалога (createdialog..) с серого на какой нибудь другой цвет?

Нормальным способом нет.
 Цитата:
может кто владеет информацией как это победить?

Регистрировать свой класс окна, там можно указать цвет фона.
Версия 5.87 Создание своих диалоговых окон с помощью WinApi
3. Redear - 30 Января, 2024 - 06:15:22 - перейти к сообщению
 Zireael пишет:
 Цитата:
можно ли изменить фон базового диалога (createdialog..) с серого на какой нибудь другой цвет?

Нормальным способом нет.
 Цитата:
может кто владеет информацией как это победить?

Регистрировать свой класс окна, там можно указать цвет фона.
Версия 5.87 Создание своих диалоговых окон с помощью WinApi


появляется проблема, когда нажимаешь хоткеи выхода из кибора, такой класс окна не закрывается нормально
4. Kibor - 30 Января, 2024 - 08:12:23 - перейти к сообщению
Как вы используете эти хоткеи?
При любом закрытие вы должны выполнить этот код
CODE:
UnregisterClass(address(#Class[0]), 0);
5. Redear - 30 Января, 2024 - 08:33:05 - перейти к сообщению
 Kibor пишет:
Как вы используете эти хоткеи?
При любом закрытие вы должны выполнить этот код
CODE:
UnregisterClass(address(#Class[0]), 0);


имею ввиду, если делать экстренное закрытие когда работаешь в киборе через встроенные хоткеи.
понятное дело, что готовый exe фаил будет обрабатывать wmclose где все можно нормально освободить.

выход из ситуации, как я понимаю, нужно делать свой хоткей, в котором происходит освобождение памяти и проверка на наличие кибора, если программа запущена не с кибора тогда close(), иначе просто переход в конец программы..
6. Kibor - 30 Января, 2024 - 09:35:51 - перейти к сообщению
Надо делать свой обработчик остановки скрипта.
Никакую память освобождать не надо.
Надо выполнить код
CODE:
UnregisterClass(address(#Class[0]), 0);

Это вообще легко.
Таймер сделайте и в нем отлавливайте клавиши остановки.
7. Redear - 30 Января, 2024 - 09:56:08 - перейти к сообщению
 Kibor пишет:
Надо делать свой обработчик остановки скрипта.
Никакую память освобождать не надо.
Надо выполнить код
CODE:
UnregisterClass(address(#Class[0]), 0);

Это вообще легко.
Таймер сделайте и в нем отлавливайте клавиши остановки.


с этим я со всем разобрался, и даже как вариант своего решения перекинул все контролы на дочернее окно внутри диалога развернутым на весь клиент. поигрался с цветами фона. и вопрос впринципе остался, есть какие то способы чтобы контролы, например, чекбатон (надпись) нормально прорисовывались на новом фоне, а не оставляли на любом фоне серый штамп
8. Kibor - 30 Января, 2024 - 10:20:51 - перейти к сообщению
 Redear пишет:
не оставляли на любом фоне серый штамп

Используйте update к окну(для просмотра ссылки Вам необходимо авторизоваться)
9. Zireael - 30 Января, 2024 - 17:12:03 - перейти к сообщению
 Цитата:
При любом закрытие вы должны выполнить этот код

Даже была тема в предложениях для подобных ситуаций.
Добавить блок, выполяющийся перед закрытием кибор
10. Redear - 31 Января, 2024 - 03:45:40 - перейти к сообщению
[quote=Kibor]
 Redear пишет:
не оставляли на любом фоне серый штамп

Используйте update к окну(для просмотра ссылки Вам необходимо авторизоваться) /quote]

это не помогает, системный цвет контролов все равно остается серым, на фоне, отличным от серого, смотрится очень плохо

Powered by ExBB FM 1.0 Final