Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.10.2015, 09:05
Gareth Gareth вне форума
Активный
 
Регистрация: 21.03.2013
Адрес: Приднестровье
Сообщения: 202
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Перемещение свойств одной кнопки на другую

Доброго времени суток.

Мне нужно сделать что-то типа drag & drop, только в самой программе.
Есть 40 кнопок speedbutton.
Цель: Сделать так, что бы при нажатии и перемещении кнопки на другую кнопку, все её свойства и переменные, менялись местами.


На кнопках могут быть картинки, переменные и тд.

Я полагаю, надо делать запасные переменные, что бы грузить в них свойства первой кнопки, свойства второй кнопки передать к первой кнопки, после этого из запасных переменных грузить во вторую !? Или есть другой способ?

Есть название у этой процедуры ?) А то и гуглить толком не могу...
Подтолкните пожалуйста в правильном направлении

Последний раз редактировалось Gareth, 23.10.2015 в 09:08.
Ответить с цитированием
  #2  
Старый 23.10.2015, 22:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,048
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Есть метод Assign, который копирует ВСЕ property одного объекта в другой того же класса. Но, думаю, что тебе он не подойдет, т.к. тебе все свойства копировать не надо. Соответсвенно, надо будет писать свой метод,ю типа:
Код:
procedure SwapProperties(Obj1, Obj2 : TSpeedButton);
var
  S : String;
  I :  Integer;
  ...
begin
  S := Obj1.Hint;
  Obj1.Hint := Obj2.Hint;
  Obj2.Hint := S;

  I := Obj1.Tag;
  Obj1.Tag := Obj2.Tag;
  Obj2.Tag := I;
  
  ...
end;
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Gareth (23.10.2015)
  #3  
Старый 24.10.2015, 08:02
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот немного глючный набросок

З.Ы. Кой чё исправил
Вложения
Тип файла: zip SwapSpeedButton.zip (5.9 Кбайт, 1 просмотров)

Последний раз редактировалось Alegun, 25.10.2015 в 11:58.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Gareth (31.10.2015)
  #4  
Старый 25.10.2015, 20:53
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

А может проще переставить кнопки местами да переназначить обработчики (если они разные)?..
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter