Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 08.04.2008, 18:50   #1
shtuceron
 
Регистрация: 03.11.2007
Сообщений: 7
Репутация: 10
По умолчанию Drag&Drop

Всем привет, пытаюсь разобраться в этой удивительной штуке на примере формы и кнопки, но не могу понять в чем ошибка, после описания соответствующих процедур при нажатии на кнопку она сдвигается не равномерно, а только на расстояние равное длине между центром кнопки и местом нажатия.
Спасибо за внимание.
shtuceron вне форума   Ответить с цитированием
Старый 08.04.2008, 18:54   #2
frodo
Пользователь
 
Регистрация: 06.04.2008
Сообщений: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от shtuceron Посмотреть сообщение
Всем привет, пытаюсь разобраться в этой удивительной штуке на примере формы и кнопки, но не могу понять в чем ошибка, после описания соответствующих процедур при нажатии на кнопку она сдвигается не равномерно, а только на расстояние равное длине между центром кнопки и местом нажатия.
Спасибо за внимание.
А ты бы немог привести фрагмент кода!!а то тут телепатов кажись нету
frodo вне форума   Ответить с цитированием
Старый 09.04.2008, 08:19   #3
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Если следующий пост не будет с кодом автора тему закрою.
Stilet вне форума   Ответить с цитированием
Старый 09.04.2008, 19:04   #4
shtuceron
 
Регистрация: 03.11.2007
Сообщений: 7
Репутация: 10
По умолчанию

Специально не выкладывал свой код, хотел узнать ваше мнение по возможному появлению ошибки и дойти самому, но предложений не поступило, однако ошибка была найдена: метод DRAGOVER мной был описан не на приемник (форму) а на источник (кнопку).

Привожу код исправленной программы, все работает.

implementation

{$R *.dfm}

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button = mbleft then
begin
TButton(Sender).BeginDrag(true);
end;
end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if TButton(Source) is TButton then Accept:=true else Accept:=false;
end;

procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
TButton(Source).Left:=X;
TButton(Source).Top:=Y;
end;

end.
shtuceron вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag $ drop в DBGrid AlexandrSid Общие вопросы Delphi 13 21.06.2010 10:55
Помогите с drag-and-drop Cezar Win Api 3 19.10.2008 15:48
Drag&Drop в ListBox'ах MAKEDON Общие вопросы Delphi 3 21.08.2008 13:12
Drag&Drop по сети в Delphi vovan-brn Помощь студентам 0 28.05.2008 23:12
Drag and Drop Xardas Общие вопросы Delphi 8 21.01.2008 00:09


15:16.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.