Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать "плавающий" ToolBar [D6, WinXP]


leonidus ©   (2005-02-10 11:32:00) 

Мастера подскажите пожалуйста, нужно что бы на форме отображалось окошко ToolBar`а (не панель а именно окошко с крестиком в правом верхнем углу) которое можно было бы таскать по форме. Создаю ToolBar с кнопками все нормально, но во первых он без заголовка (хотя выставляю ShowCaption:=true) и не таскается. Глянул на пример которые идет в 6-й делфей, там два ToolBar`а и в runtime их можно "оторвать" от дока что бы получилось новое нужное мне таскающееся окошко, но мне надо что бы сразу после запуска программы такое окошко само появлялось и юзер не должен "отдирать" его от места прикрепления. Пожалуйста подскажите, очень нужно.


Юрий Зотов   (2005-02-15 15:42:00) [1]

> leonidus   (15.02.05 14:40) [12]
> но если с тулбарами других решений задачи нет...

[3] - это не решение?

Тулбары надо просто настроить так, чтобы они сами дочились и сами раздочивались, и чтобы хост-форма плавающих тулбаров тоже создавалась и уничтожалась сама. В VCL все для этого уже заточено, а как это сделать конкретно - см. в примере.

А позиции тулбаров (то есть, последние настройки юзера) надо просто сохранять при завершении и восстанавливать при старте. Как это обычно и делается.

И тогда все будет нормально работать, причем без всяких самопальных форм.


leonidus   (2005-02-15 14:40:00) [2]

да никак:) конечно это не решение проблемы т.к. собственно тулбарами тут вообще не пахнет их заменита вторая форма, но если с тулбарами других решений задачи нет то и вторая форма вполне пойдет


Юрий Зотов   (2005-02-14 11:20:00) [3]

> leonidus   (14.02.05 10:08) [9]

Юзер захочет придочить тулбар. Как на это среагирует Ваша Form2?


msguns   (2005-02-14 10:49:00) [4]

>leonidus   (14.02.05 10:08) [9]
>не понял

1-я форма создается только 1 раз во время выполнения приложения ? Form 2 имеет StayOnTop ?


leonidus   (2005-02-14 10:08:00) [5]

не понял


Юрий Зотов   (2005-02-11 13:31:00) [6]

> leonidus   (11.02.05 13:16) [7]

> Все проблему решил, просто в OnShow 1-й формы поставил
> Form2.show

Но проблему не решил. Позже увидите это сами.


leonidus   (2005-02-11 13:16:00) [7]

Все проблему решил, просто в OnShow 1-й формы поставил Form2.show


Чапаев   (2005-02-11 12:32:00) [8]

ToolBar1.ManualFloat(ToolBar1.BoundsRect);-- оно?

ЗЫ. Я тут вот на днях с Drag-And-Dock разобрался окончательно и бесповоротно, задавай вопросы, если чё. ;-) chapaev@hotmail.ru


Александр Иванов   (2005-02-11 11:33:00) [9]

leonidus   (11.02.05 10:47) [4]
если следуешь совету [2], то просто удали эту строку.


leonidus   (2005-02-11 10:47:00) [10]

>Shirson а не получилось... не хочет программа показывать окно второй формы пока первая не создалась - вылетает ошибочка и меня отсылают на
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2); <- вот тут ошибка
 Application.Run;


Юрий Зотов   (2005-02-10 13:05:00) [11]

Как сделать - просто настроить свойства по образцу примера.

А чтобы сразу был плавающим - при закрытии программы где-то (в реестре, INI-файле, БД и пр.) сохранять позицию тулбара, а при старте программы читать ее оттуда.


Shirson   (2005-02-10 12:59:00) [12]

Создаёшь новую форму. (Например Form2)
В неё вставляешь тулбар.
В oncreat главной формы делаешь Form2.show;

Так устроит?

P.S. ShowCaption - это кэпшины кнопок и отношения к делу не имеют.


leonidus   (2005-02-10 12:51:00) [13]

Люди не дайте погибнуть!


Наверх

Титульная страница Поиск, карта сайта Написать письмо