Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по Delphi

  Все выпуски  

Уроки по Delphi


Информационный Канал Subscribe.Ru


Исходники лежат тут: Delphi::WAP::Moto E-365

*Номер 16* (2004-05-08)

Урок 18.

Задание: Изучаем мышку.

Итак, сегодня поработаем с нашим грызуном. Узнаем координаты мышки, отработаем нажатие на левую и правую кнопку. Давайте разберемся с обработчиками. Первый - это "OnMouseDown". Он обрабатывает движение мышки. В нем мы будем выводить координаты положения курсора мышки. Далее. "OnMouseDown" и "OnMouseUp" - срабатывают на нажатие кнопки и на ее отпускание. Мы будем работать с нажатием. Давайте программировать, комментарии по ходу текста программы:
unit U18;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs;

type
    TForm1 = class(TForm)
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
            Y: Integer);
        procedure FormCreate(Sender: TObject);
        procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
            Shift: TShiftState; X, Y: Integer);
    private
        { Private declarations }
    public
        { Public declarations }
    end;

var
    Form1: TForm1;

implementation

{$R *.dfm}

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
Если у Вас возникли вопросы, идеи, предложения или какие-либо мысли, пишите, не стесняйтесь!

© Юрий М. Крылов, 2004.®(25)

Рассылка comp.soft.prog.delphibegin (c)2003-2004 Крылов Ю.М.
Выпуск 16 от 2004-05-08
Подписчиков - 9
Рассылки Subscribe.Ru
Новости сайта My.WAP.F1
На моем сайте можно найти выпуски:
Урок 1
Урок 3
Урок 4
Урок 5
Урок 6
Урок 8
Урок 9
Урок 10
Урок 11
Урок 12
Урок 15
Урок 16
-----
Архив рассылки тут:
Архив Рассылки

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное