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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2015, 14:03   #1
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
Вопрос Перетаскивание панелей

Добрый день!

Программа имеет такой вид:



Слева есть несколько панелей (TPanel). Подскажите, как сделать так, чтобы в запущенной программе последовательность этих панелей можно было менять перетаскивая их мышкой на нужное место?

Последний раз редактировалось garuna; 15.11.2015 в 14:05.
garuna вне форума Ответить с цитированием
Старый 16.11.2015, 07:23   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

оно?

Код:
procedure TFORM_GLAV.panels_datesMouseDown(Sender: TObject; 
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
  const 
  SC_DRAGMOVE = $F012; 
begin 
ReleaseCapture; 
panels_dates.ControlStyle:=panels_dates.ControlStyle + [ csOpaque ]; 
napominanie_dat.Perform(WM_SYSCOMMAND, SC_DRAGMOVE , 0); 
end;
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 11.12.2015, 16:49   #3
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию

Цитата:
Сообщение от BARNEY Посмотреть сообщение
оно?]
не совсем, этот код позволяет просто перетаскивать панель куда угодно, но другие панели при этом остаются на своем месте.
а нужно чтобы при перетаскивании например панели №2 на место панели №1, они менялись бы местами.
garuna вне форума Ответить с цитированием
Старый 12.12.2015, 14:14   #4
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Цитата:
Сообщение от garuna Посмотреть сообщение
Добрый день!

Слева есть несколько панелей (TPanel). Подскажите, как сделать так, чтобы в запущенной программе последовательность этих панелей можно было менять перетаскивая их мышкой на нужное место?
Здорова! В делфи в коробке таких функций нету, но можно написать код вручную на событие отслеживание мыши и пристройки компонента в нужное место!

Писал я подобный код в собери картинку из частей- там где часть картинки уже почти подтащили на нужное место она "подклеивается" в свое место скажем так.
Но это слишком кропотливо!

Могу посоветовать компонент ControlBar накидать на него панелей и он по умолчанию будет делать что-то подобное!
Изображения
Тип файла: jpg 120.jpg (18.0 Кб, 62 просмотров)
NIKOLAYY2 вне форума Ответить с цитированием
Старый 13.12.2015, 14:52   #5
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию

NIKOLAYY2, вроде то что нужно. Спасибо! )
garuna вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа. Delphi 7: Есть 10 панелей с вопросами и 10 панелей с ответами ,ответы и вопросы загружаются из файла,перемешиваются... Kolya23 Помощь студентам 5 05.10.2015 21:57
Массив из панелей iarugp Помощь студентам 3 03.01.2015 23:15
Рамки у панелей Dima DDM Общие вопросы Delphi 4 01.07.2011 12:01
Движение панелей Muniz Компоненты Delphi 6 30.12.2009 16:06
Список панелей Кронос Общие вопросы Delphi 1 23.08.2007 16:27