![]() |
|
![]() ![]() ![]() |
|
blackEye |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.4.2007 Репутация: нет Всего: нет |
Доброго времени суток, уважаемые форумчане.
Поискал по форуму и не нашел ответа на мой вопрос. Может кто салкивался? Прячу фрейм : ShowWindow(SW_HIDE); FloatControlBar(&m_wndToolBar); Как только нажимаю на другое окно - тулбар теряется и виден только если последовательно все окна свернуть, а переключиться на него по альт+таб не возможно и топмост он не делается, а если его закрыть то программа не завершается. Смотрел spy сообщения при закрытии бара. ничего интересного. В визарде перепробовал большинство событий на баре для закрытия его - ни одно не вызывается Интересует: 1. как переключаться на тулбар по альт+таб либо как сделать его топмост. 2. как завершить программу по закрытии тулбара при спрятанном фрейме. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Плавающий тулбар сидит в MiniDockFrameWnd, которое имеет стиль TOOLWINDOW (кажется именно это мешает ему переключаться по Alt-tab) и обрабатывает CLOSE именно так.
Тебе надо подменить класс фрейма на свой, в котором определить нужное поведение. Подменить класс можно так: просто установить переменную m_pFloatingFrameClass главного окна (если у тебя FrameWnd или наследник). Это можно сделать в OnCreate фрейма или позже, но главное - ДО создания тулбара. Насчет подмены поведения: - переопредели обработку WM_CLOSE так как тебе надо - поэкспериментируй со стилями: например, убери WS_EX_TOOLWINDOW -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |