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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2013, 10:55   #1
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию Абстрактный вопрос. Перетаскивание по форме.

Ребята, подскажите, в какую сторону копать:
Есть 2 копии проекта. В старой есть юнит 11. В нем реализовано перетаскивание лейблов по форме.
Код:
procedure TForm11.Label11MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Label11.BringToFront;
if Button<>mbLeft then
move:=False else
begin
move:=True;
x0:=x;
y0:=y;
end;
end;

procedure TForm11.Label11MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if move then begin
Repaint;
Label11.SetBounds(Label11.Left+x-x0,Label11.Top+y-y0,Label11.width,Label11.height);
end;
end;
Допустим так. Все работает - все замечательно. Вчера в более новой версии этой программы вносил изменения по рисайзингу формы - по непонятным причинам перетаскивание перестало прорисовываться. То есть я нажимаю на Лейбл, он фиксируется, и выполняется процедура Маус Мув, но сам лейбл остается неподвижным. Движется только курсор, а лейбл остается на месте. По отпусканию кнопки - он меняет свою позицию, как и должно быть, но увидеть изменения можно только свернув-развернув форму.

То есть исчезла прорисовка. Из-за чего это может быть? Я взял, и переместил рабочие юниты из старого проекта в новый - но тут и они не работают. Хотя в старой версии с ними - все ок.

Самое интересное, что в приложении есть подобная форма, но с другим фоном и расположением объекта. Код - 1 в 1. Все работает. То ли это проблема с АльфаСкинс, то ли еще с чем, я уже всю голову сломал.

Но по идее, ошибка не в юните с формой, а где-то в самом проекте, потому как непонятно, как один и тот же юнит может работать в одном проекте корректно, и некорректно работать в другом? В какую сторону копать стоит? Задайте направление!)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 25.09.2013, 11:09   #2
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Только что решил проблему. Имейдж лежит на sпанели, и замена строки Repaint на sPanel1.Repaint - помогла. Но все таки, почему ТАКАЯ ЖЕ ФОРМА, работает в другом проекте, а тут нет? Предположим это бока АльфаСкинов, но как одно и тоже действие, пускай даже с использованием одного и того же ГЛЮЧНОГО компонента может по разному себя вести в зависимости от времени суток?)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 25.09.2013, 15:14   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
замена строки Repaint на sPanel1.Repaint - помогла
А вы изначально действительно хотели вызвать Form11.Repaint? Или всё-таки это ошибка, а хотелось вызвать Label11.Repaint?
northener вне форума Ответить с цитированием
Старый 25.09.2013, 16:39   #4
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Изначально была ошибка, в этом и вопрос! Как так получается, что при одном и том же коде, оно то работает, то не работает?) Хотя по факту, вообще не должно было работать
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по форме Olenka555 Microsoft Office Access 24 19.08.2014 23:40
Перетаскивание нескольких объектов на форме Montysson Общие вопросы Delphi 3 17.06.2012 17:10
Перетаскивание объектов по форме WRC fan 66 Общие вопросы Delphi 3 08.12.2010 20:24
Вопрос по форме Tanilita Microsoft Office Access 2 18.11.2009 14:01