Re: Изменение размеров ToolBar'а | |
---|---|
AlexK Сообщений: 2114 Откуда: Королев,Москва Дата регистрации: 11.12.2000 |
Еше вариант на основе FORM. Тянуть можно вверх
При resize главного окна вызвать _debout.setpos()
|
Re: Изменение размеров ToolBar'а | |
---|---|
Aijik Сообщений: 2145 Откуда: Ростов-на-Дону Дата регистрации: 08.01.2002 |
2 AlexK
С формой более близко к тому, что я хочу! Надо бы это покрутить... Спасибо за идеи ;) |
Re: Изменение размеров ToolBar'а | |
---|---|
po2 Автор Сообщений: 2864 Откуда: Иркутск Дата регистрации: 22.12.2001 |
Решение AlexK можно на мой взгляд слегка дополнить. В косметических целях все объекты положить в Container. Это избавит от произвольной перетасовки объектов при изменении размеров ToolBar'а. Наличие Container'а можно использовать и для изменения размеров ToolBar'а. Для этого нужно любым доступным способом(подходящая fll-библиотека, ActiveX) поймать нужные WM_-сообщения. Если в ответ на них изменять размеры Container'а то ToolBar будет изменяться автоматически. Можно обойтись и без перехвата сообщений, но при этом зона изменения размеров - нижний правый угол Container'а будет не совпадать с бордером панели, где курсор меняет свою форму.
|
Re: Изменение размеров ToolBar'а | |
---|---|
Aijik Сообщений: 2145 Откуда: Ростов-на-Дону Дата регистрации: 08.01.2002 |
2 po2
Цитата:С этого места можно чуть поподробнее для слабоумных, таких как я? ;) ------------------ |
Re: Изменение размеров ToolBar'а | |
---|---|
po2 Автор Сообщений: 2864 Откуда: Иркутск Дата регистрации: 22.12.2001 |
Я лучше письмом с примером, иначе, не проверяя кода могу и наврать .
|
Re: Изменение размеров ToolBar'а | |
---|---|
Aijik Сообщений: 2145 Откуда: Ростов-на-Дону Дата регистрации: 08.01.2002 |
Заранее благодарю
|
Re: Изменение размеров ToolBar'а | |
---|---|
po2 Автор Сообщений: 2864 Откуда: Иркутск Дата регистрации: 22.12.2001 |
Прощения просим . Не смог реализовать предложенный алгоритм с помощью проверенного раннее ActiveX'а. Похоже грубо насиловать Fox нельзя, только лаской и со знанием внутреннего устройства.
Предполагал сделать так: - изловить WM_NCHITTEST = &H84; - проанализировать не находиться ли курсор на бордюре(HTBOTTOMRIGHT = 17), если да - взвести флажок, нет - сбросить; - изловить WM_MOUSEMOVE = &H200, если флажок нахождения на бордюре взведен и нажата левая клавиша MK_LBUTTON = &H1, то запустить процесс изменения размеров контейнера. Результат: - поймал, но не смог вернуть Fox'у перехваченное сообщение WM_NCHITTEST = &H84, как результат ToolBar вообще перестал реагировать на действия мышью; - при работе только с WM_MOUSEMOVE = &H200 результат выходит весьма кривенький, за изменяющимся ToolBar'ом тянется фрейм в его прежних координатах. Попытался понять какие окна Fox может пристыковать, а какие нет. Установил для Command флажок Dockable, и его стили установил для обычной формы. Наивный, думал что она начнет dock'иться. Вообщем оптимизма поубавилось, для сохранения лица изготовил макет эмулирующий желаемое .
|
Re: Изменение размеров ToolBar'а | |
---|---|
Андрей Давыдов Сообщений: 1411 Дата регистрации: 08.02.2003 |
Дмитрий , ты крут! Спасибо агромадное за идею.
Ловкость рук и никакой магии Отдельное спасибо Игорю за раскрутку темы. Упростил код примера. Убрал ограничение на ресайз в пристыкованной панели. Добавил прорисовку панели (WM_PAINT) и скрина во время ресайза. За плагиат просьба не пинать.
В принципе надо добавить возможность ресайза во все стороны и ресайз только стороны противоположной стороне пристыковки панели. Удачи. |
© 2000-2024 Fox Club  |