Аналогично запрограммируйте соответствующие события для перетягивания двух других рисунков

11. Создайте функцию lmageInShape для проверки расположения
рисунка (объекта Image) в середине некоторой геометрической фигуры (объекта Shape).

bool lmageInShape(TImage* I,TShape* S)

{

if ((I -> Left> = S -> Left) &&

(I -> Left+ I -> Width <= S -> Left + S -> Width) &&

(I -> Top >= S -> Top) &&

(I -> Top + I -> Height <= S -> Top + S -> Height))
return true; // Рисунок в середине фигуры

Else

return false; // Рисунок вне фигуры

}

l2. Запрограммируйте кнопку "Готово", которая проверяет правильность расположения рисунков внутри фигур:

__ void__fastcall TForm1::BitBtn1Click(TObject *Sender)

{ // Если: первый рисунок во второй фигуре

if (ImageInShape(Image1, Shape2) &&

// второй рисунок в третьей фигуре lmageInShape(Image2, Shape3) &&

// третий рисунок в первой фигуре ImageInShape(Image3, Shape1))

Result(right);

Else

Result(wrong);

}

13. Запрограммируйте второй таймер, который обеспечивает индикацию времени выполнения от 100 до 0% со скоростью, обратно пропорциональной к числу в CSpinEdit1.

В случае, когда пользователь не успел расположить рисунки в
прямоугольниках и нажать на кнопку "Готово" в отведенное
время, подается звук "ДИНГ" и открывается информационное окно с сообщением "Попробуйте еще раз!".

void_fastcall TForm1::Timer2Timer(TObject *Sender)

{

// Задаем скорость движения индикатора:

Timer2 -> Interval = CSpinEdit1 -> Value * 50;

// Работает индикатор времени:

ProgressBar1 -> Position = ProgressBar1 -> Position - 1;

// Если время исчерпано "Попробуйте еще раз!"

if (ProgressBar1 -> Position = = 0)

Result(more);

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: