Создание убегающей формы в C++ Builder

В этой статье я расскажу как сделать приложение, которое будет убегать от мыши к примеру при наведении курсора на кнопку.

Создаем в билдере новый проект. В опциях формы, полю «Name» присвоим значение «FormTest».
Довляем на форму кнопку Button1, переходим в список событий, и находим OnMouseEnter.

OnMouseEnter — это событие которое срабатывает при наведении мыши на компонент(в нашем случае на кнопку). Щелкаем по нему 2 раза. Для перемещения формы в случайную позицию воспользуемся функцией random(), которая может генерировать случайные числа от нуля до заданного ей значения, для этого в событии вписываем следующий код:

FormTest->Left = random(1000); //Отступ формы от левого края
FormTest->Top = random(600); //Отступ формы от верхнего края

В редакторе должно получиться так:

//---------------------------------------------------------------------------
#include 
#pragma hdrstop

#include "mail.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormTest *FormTest;
//---------------------------------------------------------------------------
__fastcall TFormTest::TFormTest(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormTest::Button1MouseEnter(TObject *Sender)
{
  FormTest->Left = random(1000); //Отступ формы от левого края
  FormTest->Top = random(600); //Отступ формы от верхнего края
}
//---------------------------------------------------------------------------

Вот и все, наша программа готова! Компилируем и пробуем навести курсор на кнопку:)
Такое можно делать нетолько для кнопки, а для всех компонентов где есть событие OnMouseEnter.

На заметку: В 6 версии билдера это событие называется OnMouseMove

Реальный пример программы в этой статье.

Rating: 4.90/5. From 5 votes.
Please wait...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *