Итак, сегодня поработаем с нашим грызуном. Узнаем координаты мышки, отработаем нажатие на левую и правую кнопку. Давайте разберемся с обработчиками. Первый - это "OnMouseDown". Он обрабатывает движение мышки. В нем мы будем выводить координаты положения курсора мышки. Далее. "OnMouseDown" и "OnMouseUp" - срабатывают на нажатие кнопки и на ее отпускание. Мы будем работать с нажатием. Давайте программировать, комментарии по ходу текста программы:
procedure TForm1.FormCreate(Sender: TObject);
begin
// Задаем название формы
Form1.Caption := 'Урок 18. Мышка.';
// Включаем генератор случайных чисел
randomize;
// Пишем начальное положение мышки
Form1.Canvas.TextOut(10, 10, IntToStr(0) + '-' + IntToStr(0));
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
// Когда мышка двигается, выводим ее координаты
Form1.Canvas.TextOut(10, 10, IntToStr(X) + '-' + IntToStr(Y));
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
r, g, b: Integer;
begin
// Для кругов задаем случайный цвет
// Красный
r := random(255);
// Зеленый
g := random(255);
// Синий
b := random(255);
// Задаем перу созданный цвет
Form1.Canvas.Pen.Color := rgb(r, g, b);
// Обрабатываем нажатие на левую кнопку мышки
if Button = mbLeft then
begin
// Рисуем круг
Form1.Canvas.Ellipse(X - 10, Y - 10, X + 10, Y + 10);
end;
// Обрабатываем нажатие на правую кнопку мышки
if Button = mbRight then
begin
// Очищаем Форму1
Form1.Canvas.Rectangle(-1, -1, Form1.Width + 1, Form1.Height + 1);
// Выводим координаты мышки
Form1.Canvas.TextOut(10, 10, IntToStr(X) + '-' + IntToStr(Y));
end;
end;
end.
Ну вот и все, пока!
Тексты всех предыдущих уроков и самих исходников
можно скачать с http://mywap-f1.h12.ru
Если у Вас возникли вопросы, идеи, предложения или какие-либо мысли, пишите, не стесняйтесь!