Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.04.2009, 19:02
twister0k twister0k вне форума
Прохожий
 
Регистрация: 01.04.2009
Адрес: Kiev
Сообщения: 2
Репутация: 10
По умолчанию Помогите пожалуйста

Нужно, что бы кнопка убегала от курсора случайным образом(эту часть я сделал), но когда эта кнопка попадает на рядом размеценный panel, она останавливается и при нажатии на неё приложение закрывается.
Ответить с цитированием
  #2  
Старый 01.04.2009, 19:18
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Я так полагаю, "убегание" кнопки реализовано вами в методе OnMouseMove? Ну вот и пропишите там проверку: если кнопка в пределах панели, то Exit из процедуры.
Код:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (Button1.Top > Panel1.Top) and (Button1.Top < Panel1.Top + Panel1.Height) and
     (Button1.Left > Panel1.Left) and (Button1.Left < Panel1.Left + Panel1.Width) then
        Exit;
  { Здесь ваша реализация убегания кнопки от курсора }
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.Terminate;
end;
Ответить с цитированием
  #3  
Старый 01.04.2009, 19:36
twister0k twister0k вне форума
Прохожий
 
Регистрация: 01.04.2009
Адрес: Kiev
Сообщения: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Nyctos Kasignete
Я так полагаю, "убегание" кнопки реализовано вами в методе OnMouseMove? Ну вот и пропишите там проверку: если кнопка в пределах панели, то Exit из процедуры.
Код:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (Button1.Top > Panel1.Top) and (Button1.Top < Panel1.Top + Panel1.Height) and
     (Button1.Left > Panel1.Left) and (Button1.Left < Panel1.Left + Panel1.Width) then
        Exit;
  { Здесь ваша реализация убегания кнопки от курсора }
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.Terminate;
end;
Да, "Убегание" реализировано с помощью OnMouseMove. Спасибо большое за помощь!
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025