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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2017, 19:08   #1
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
Вопрос Как такое вот, реализовать как на картине

Посмотрите вот:
таскатьМыш.JPG

я бы назвал это подставками с хранилищем текста.

Ну компоненты таскать по форме умею, а вот как дать им возможность "осесть", закрепится на подставках??
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
HellMercenariess вне форума Ответить с цитированием
Старый 28.01.2017, 02:06   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от HellMercenariess Посмотреть сообщение
как дать им возможность "осесть", закрепится на подставках?
Переведи.
northener вне форума Ответить с цитированием
Старый 28.01.2017, 08:20   #3
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Переведи.
Нужно перемещать текст в синих оболочках точно в пространство над разделенными полосками, а полоски должны иметь скрытый текст и там должны быть события OnMouseUp или OnDragDrop.

Как это можно реализовать??
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
HellMercenariess вне форума Ответить с цитированием
Старый 28.01.2017, 09:24   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
procedure TForm1.ShapeDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept:=TObject(Source) is TLabel;
end;

procedure TForm1.ShapeDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  if (TShape(Sender).Tag=0) and (Source is TLabel) then begin
    TLabel(Source).Left:=TShape(Sender).Left+((TShape(Sender).Width-TLabel(Source).Width) div 2);
    TLabel(Source).Top:=TShape(Sender).Top+((TShape(Sender).Height-TLabel(Source).Height) div 2);
    TShape(Sender).Tag:=1;
  end;
end;
Вложения
Тип файла: zip Новая папка (10).zip (7.9 Кб, 11 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.01.2017, 10:12   #5
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Для собственного пользования после создания компонента на базе Шэйп ваш вариант конечно сгодится, но а так возникает старая проблема

Дело в том что на картинке пользователь таскает синие части мышкой, им пользователям так понятней наглядней а в DragMode = dmAutomatic, Sс_DragMove не получится.
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
HellMercenariess вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как такое реализовать Руслан(2) Общие вопросы C/C++ 2 02.06.2012 23:14
как прибить вот такое ыра Безопасность, Шифрование 1 26.03.2012 23:50
Хочу сделать окно настроек, вот такое... как? suvolod Visual C++ 11 26.01.2011 15:18
как реализовать такое же меню как и здесь KWNlnc Общие вопросы Delphi 7 08.06.2010 22:46
Как такое реализовать? AnalogXP Общие вопросы Delphi 9 17.02.2008 00:22