Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2011, 17:45   #1
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию Плавающая панель

Кто знает как сделать плавающую панель инструментов? Я начал делать через ToolBar задал
Код:
DragKind := dkDock;
DragMode := dmAutomatic;
Цитата:
панелька перемещается когда ее тащишь ,но вот в чем проблема она не стает обратно, где была! как это реализовать? или может еще как то это можно сделать?
casio23 вне форума Ответить с цитированием
Старый 12.02.2011, 18:28   #2
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

попробуй обработать событие какое нибудь вариантов много. например
Код:
procedure TForm1.ToolBar1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

Toolbar1.Parent:=Form1;
Toolbar1.Align := alTop;
end;
по нажатию пр. кнопки мыше вернется обратно.
wm_leviathan вне форума Ответить с цитированием
Старый 12.02.2011, 19:17   #3
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

Цитата:
Сообщение от wm_leviathan Посмотреть сообщение
попробуй обработать событие какое нибудь вариантов много. например
Код:
procedure TForm1.ToolBar1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

Toolbar1.Parent:=Form1;
Toolbar1.Align := alTop;
end;
по нажатию пр. кнопки мыше вернется обратно.
а как обратно показать Toolbar1 если его закрыть?
casio23 вне форума Ответить с цитированием
Старый 12.02.2011, 19:26   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
она не стает обратно, где была! как это реализовать?
а если просто взять 2 константы или при создании устанавливать местоположение по умолчанию и приравнивать Top и Left, не вариант?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 12.02.2011, 19:53   #5
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Цитата:
Сообщение от casio23 Посмотреть сообщение
а как обратно показать Toolbar1 если его закрыть?
м-м-м это если пользователь нажал кнопку закрыть и тулбар вернулся на место? или тулбар вы закрыли и потом как в майкросовт ворде (к примеру) добавить панель ?
если второе то
Код:
Toolbar1.Show;
и соответственно align и parent
wm_leviathan вне форума Ответить с цитированием
Старый 12.02.2011, 21:47   #6
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
Плохо

Цитата:
Сообщение от wm_leviathan Посмотреть сообщение
м-м-м это если пользователь нажал кнопку закрыть и тулбар вернулся на место? или тулбар вы закрыли и потом как в майкросовт ворде (к примеру) добавить панель ?
если второе то
Код:
Toolbar1.Show;
и соответственно align и parent
все работает, а можно еще спросить а почему когда я нажимаю пр.кл.мыши то происходит мерцание? и еще как сделать так что бы когда я вытащил тулбар, изменялся его размер сам
casio23 вне форума Ответить с цитированием
Старый 12.02.2011, 22:05   #7
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Цитата:
Сообщение от casio23 Посмотреть сообщение
и еще как сделать так что бы когда я вытащил тулбар, изменялся его размер сам
Код:
procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
Toolbar1.Width := 200;
Toolbar1.Height := 50;
end;
незнаю что у вас там мерцает. подробнее надо.
wm_leviathan вне форума Ответить с цитированием
Старый 13.02.2011, 00:27   #8
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

Цитата:
Сообщение от wm_leviathan Посмотреть сообщение
Код:
procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
Toolbar1.Width := 200;
Toolbar1.Height := 50;
end;
незнаю что у вас там мерцает. подробнее надо.
Спасибо ,
casio23 вне форума Ответить с цитированием
Старый 13.02.2011, 12:42   #9
t2skler
Форумчанин
 
Аватар для t2skler
 
Регистрация: 25.11.2010
Сообщений: 164
По умолчанию

Цитата:
Сообщение от casio23 Посмотреть сообщение
все работает, а можно еще спросить а почему когда я нажимаю пр.кл.мыши то происходит мерцание? и еще как сделать так что бы когда я вытащил тулбар, изменялся его размер сам
Пропиши в событии onCreate формы вот этот код:
ToolBar1.DoubleBuffered:=True;
Возможно Я Быдлокодер ©.
t2skler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавающая панель на блоге Bingam Vici WordPress и другие CMS 4 06.12.2010 18:32
плавающая точка varelik Общие вопросы Delphi 8 13.05.2010 02:43
Плавающая панель dani92 Общие вопросы Delphi 15 04.11.2009 17:02
Dockbar или плавающая панель с ярлыками Hronos13 Qt и кроссплатформенное программирование С/С++ 0 04.05.2009 12:19
Как создать программу-панель (как панель Msoffice), чтобы была поверх всех окон Romanbl4 Общие вопросы Delphi 6 27.06.2007 17:23