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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2010, 22:31   #1
Kochevnik
 
Регистрация: 22.09.2010
Сообщений: 3
По умолчанию Как отображать элемент поверх курсора ?

Делаю примитивную игрушку, нужно чтобы прицел двигался точно за курсором. Проблема в том, что когда курсор выходит на картинку с прицелом прицел намертво замирает. Ка можно сделать чтобы image отображался поверх курсора ?
Kochevnik вне форума Ответить с цитированием
Старый 29.11.2010, 22:41   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Попробуйте скрывать курсор на картинке:
Код:
Image.Cursor:=crNone;
mihali4 вне форума Ответить с цитированием
Старый 29.11.2010, 22:47   #3
Kochevnik
 
Регистрация: 22.09.2010
Сообщений: 3
По умолчанию

нет, кусор скрыт
мне надо чтобы прицел следовал точно за курсором
Kochevnik вне форума Ответить с цитированием
Старый 29.11.2010, 22:50   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Приведите кусок кода, где вы обрабатываете движение мышки...
mihali4 вне форума Ответить с цитированием
Старый 29.11.2010, 22:58   #5
Kochevnik
 
Регистрация: 22.09.2010
Сообщений: 3
По умолчанию

Код:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
gx:=x;
gy:=y;
image2.top:=y-110;
image2.left:=x-110;
end;
проблема в том, когда курсор на image2 то он не двигается, как только курсор выходит за придел image2 то прицел моментом прыгает к курсору

Разница в оформлении понятна ?
Прощается только один раз. Если правила не будут прочитаны и не будут соблюдаться, то - "красный террор"

Последний раз редактировалось mihali4; 29.11.2010 в 23:05.
Kochevnik вне форума Ответить с цитированием
Старый 29.11.2010, 23:08   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Поместите Image на Panel. Опишите обработчик для нажатия ЛКМ:
Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Sender:=Image1.Parent;
(Sender as TPanel).Perform(WM_SysCommand,$F012,0);
end;
Теперь при нажатой кнопке мышки вы можете таскать прицел-Image куда угодно.
ЛКМ нужно нажать на Image.
mihali4 вне форума Ответить с цитированием
Старый 30.11.2010, 12:51   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может проще создать свой курсор и применить его к приложению?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Окно поверх курсора Ax_32 Общие вопросы Delphi 35 11.12.2010 11:06
Как не отображать столбец. Марк Охман БД в Delphi 3 04.10.2010 10:14
Элемент поверх другого элемента Krasi JavaScript, Ajax 5 31.07.2010 19:16
Как вводить полные инициалы в массив структур и как при выводе не отображать слово none несколько раз? -ushёl- Помощь студентам 2 02.01.2010 14:13