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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2010, 20:28   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию Движение объекта на форме мышью

Вот у меня на форме есть TPNGObject - шашка.Мне нужно реализовать её передвижение.То есть просто передвижение мышью: зажимаем левую кнопку мыши на этом объекте, двигаем объект, отпускаем левую кнопку, и изображение на нужном нам месте.Вопрос прост: как это сделать?
P.S.Яндекс мне не помог.
P.P.S. Google тоже
_-Re@l-_ вне форума Ответить с цитированием
Старый 21.07.2010, 20:42   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

OnMousedown = FLAG := TRUE;
OnMouseUp = FLAG := FALSE;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 21.07.2010, 20:51   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Пишет Undeclared Identifier про Flag
_-Re@l-_ вне форума Ответить с цитированием
Старый 21.07.2010, 21:16   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Блин, а регистрировать его кто будет?
Код:
Var
 Flag : Boolean;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 21.07.2010, 22:19   #5
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Чет проблемы не вижу.
У TPNGObject есть же координаты вот их и меняйте на OnMouseMove если Flag=true.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 22.07.2010, 07:47   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Код:
if Flag = True then begin
     Canvas.Draw(0,0,Png);
     a:=X;
     b:=Y;
     Canvas.Draw(a,b,Sh);end;
Правда, мерцание немного мешает. Спасибо, ex.cluz и Alex Cones
_-Re@l-_ вне форума Ответить с цитированием
Старый 22.07.2010, 08:15   #7
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Ошибся с сообщением.
Прошу прощения !
Serge_Bliznykov, благодарю за поправку !!!
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 22.07.2010 в 09:34. Причина: Мимо !!!
Kotofff вне форума Ответить с цитированием
Старый 22.07.2010, 08:57   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Ну а с Image можно просто :
Kotoff, а скажите честно - вы сами пробовали этот код?
У меня это просто не работает!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.07.2010, 13:25   #9
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
...Правда, мерцание немного мешает...[/B]
На OnCreate:
Код:
DoubleBuffered := True;
W0LF вне форума Ответить с цитированием
Старый 22.07.2010, 18:42   #10
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
На OnCreate:
Код:

DoubleBuffered := True;
Если честно, не помогло.
Но у меня в OnCreate ещё просто стоит вот что:
Код:
function SetFullscreenMode:Boolean;
var
  DeviceMode : TDevMode;
begin
  with DeviceMode do
  begin
    dmSize:=SizeOf(DeviceMode);
    dmBitsPerPel:=16;
    dmPelsWidth:=800;
    dmPelsHeight:=600;
    dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
    result:=False;
    if ChangeDisplaySettings(DeviceMode,CDS_TEST or CDS_FULLSCREEN) <> DISP_CHANGE_SUCCESSFUL
    then Exit;
    Result:=ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN) = DISP_CHANGE_SUCCESSFUL;
  end;
end;
_-Re@l-_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление движением объекта мышью program123 Общие вопросы Delphi 9 08.03.2009 20:11
Движение объекта на форме по щелчку мыши Dux Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 08.12.2008 06:35
Перемещаем панель по форме мышью chandrasecar Общие вопросы Delphi 2 10.10.2008 00:07
Движение объекта по синусоиде? Roberto Помощь студентам 10 14.05.2008 17:00
Движение объекта по кругу Roberto Помощь студентам 2 06.05.2008 15:44