![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать "плавающий" 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]Люди не дайте погибнуть!