Re[3]: CSizingControlBarCF в MDI
От: Аноним  
Дата: 25.09.05 14:00
Оценка:
Здравствуйте, uni, Вы писали:

uni>Пример работы с MDI нашёл в третьем примере SCBDemo3_src.zip на сайте

uni>здесь

uni>Извините за невнимательность. Я скачал только два примера. Третий после компиляции не имеет никаких проблем, о которых я упомянул выше. Сравню, разберусь.


Всё оказалось не так просто. Этот проект пересобранный для создания и работы в DLL не работает также. Шпионом удалось сравнить две реализации плавающих тулбаров: в Exe'шном исполнении и в исполнении dll. Оказалось, почему-то тулбары в dll не принимают сообщений об изменении своего окна при изменении _своего_ размера. Когда я меняю размер окна MDI приложения, то размеры тулбара меняются, когда же пробую изменить размер самой панельки, то при отпускании левой кнопы мыши ничего не происходит. Меня очень достало это. Чего только я не придумывал, наконец я просто в обработчике OnLButtonUp послал MDI окну сообщение SIZE_RESTORED с соотв-щими параметрами. Проблему удалось таким образом решить. Панельки-тулбары теперь меняют (принудительно) свой размер. Но осталась ещё одна проблема — при перетаскивании тулбара вне окна, т.к. он начинает плавать, он "не хороший контрол" коллапсирует зараза до точки, чего в демо не происходит. И опять я думаю виновато не получение некоего сообщения, которое и заставило бы контролл правильно отрисоваться. Поступить также тут как я сделл выше немогу, т.к. обработчик отжатия левой кнопы мыши почему-то не срабатывает, а как отловить момент перехода в плавающее состояние не пойму.

Дайте совет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.