OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 08:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 30 Январь, 2011 22:29 

Зарегистрирован: Среда, 22 Февраль, 2006 10:35
Сообщения: 144
Откуда: Новочеркасск
У дочернего окна (окна документа) внутри BB пропадают кнопки закрытия, минимизации и т.д., когда окно теряет фокус. Это страшно неудобно, так как для закрытия дочернего окна без фокуса приходится сначала его активизировать.
Вопрос к знатокам внутренностей ББ: правильно ли я понял, что нужно смотреть в HostWindows, PROCEDURE CreateDoc?
Вопрос к знатокам WinAPI - куда смотреть, чтобы это исправить?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 30 Январь, 2011 22:53 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Правильно, CreateDoc, но самое главное - HostWindows.DocWinHandler: посмотрите, какие в ответ на сообщение USER32.WMNCActivate производятся манипуляции с переменной style. WinApi.WS_MINIMIZEBOX - кнопка сворачивания окна, WinApi.WS_MAXIMIZEBOX - кнопка разворачивания окна, WinApi.WS_SYSMENU - иконка с меню в левом верхнем углу окна И крестик для закрытия окна в правом верхнем углу.

Возможно, что достаточно будет закомментировать строки
st := st - {16, 17, 19}; (* minimize box, maximize box, sysmenu *)
и
style := style - {16, 17, 19} (* minimize box, maximize box, sysmenu *)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 06 Февраль, 2011 01:01 

Зарегистрирован: Среда, 22 Февраль, 2006 10:35
Сообщения: 144
Откуда: Новочеркасск
Спасибо, это работает! Кнопки теперь не исчезают.
Но деактивированное окно не реагирует на нажатие кнопки закрытия!
На сворачивание\разворачивание реагирует. А клик по кнопке закрытие - это просто активация окна. Всё равно что просто по заголовку кликнули.
Причём, если окно стало неактивным из-за активизации другого документа - тогда кнопка закрытия не работает. А если окно стало неактивным из-за активизации диалога, то тогда кнопка закрытия у неактивного окна работает. Если неактивное окно в свернутом состоянии, то тоже работает. Ничего не понимаю...

Трассировка последовательности сообщений при переходах в разные состояния приаттачена
Вложение:
closetest1.txt [1.37 КБ]
Скачиваний: 836

Понятно, что WM_CLOSE просто не посылается или не доходит. Отличие всё же кажется в сообщении WM_MDIACTIVATE
Есть идеи?

<оффтоп: удалено модератором>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Фикс неактивных окошек
СообщениеДобавлено: Среда, 04 Май, 2011 09:36 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Добавляет кнопки закрытия свертки развертки для неактивных окон.

Фикс выделен красным.

Тот, что снизу - для кнопок
Тот, что сверху - чтобы работала кнопка закрытия

На скрине видно, что у неактивного Лога есть кнопки


Вложения:
Безымянный.png
Безымянный.png [ 61.13 КБ | Просмотров: 6828 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB