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

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

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

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

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

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

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

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

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

Специально не выкладывал свой код, хотел узнать ваше мнение по возможному появлению ошибки и дойти самому, но предложений не поступило, однако ошибка была найдена: метод 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 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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 20.01.2008 23:09