Компьютерная графика, мультимедиа и игры на Visual C#


Глава Рисование при помощи перемещения мыши


Листинг 26.1. Объявляем глобальные переменные и записываем наш код.

    //Объявляем глобальные переменные

    //для координат "x" и "y" указателя мыши

    //в момент нажатия кнопки мыши и перемещения мыши:

    public int x_MouseDown, y_MouseDown;

    public int x_MouseMove, y_MouseMove;

    //Чтобы рисование осуществлялось

    //только после каждого щелчка кнопки,

    //объявляем переключатель рисования

    //в виде глобальной переменной OffOn:

    bool OffOn = false;

private void Form1_MouseDown(object sender, MouseEventArgs e)

{

        //Определяем координаты "x" и "y" указателя мыши

        //в момент нажатия кнопки мыши:

        x_MouseDown = e.X;

        y_MouseDown = e.Y;

        //Изменяем значение OffOn на противоположное:

        OffOn = true;

    }

Далее в панели Properties на вкладке Events дважды щелкаем имя второго события, например, MouseMove, показанное на рис. 26.4. Появляется шаблон метода Form1_MouseMove для обработки события MouseMove в виде перемещения мыши. После записи нашего кода шаблон принимает следующий вид.

Листинг 26.2. Метод Form1_MouseMove для перемещения мыши.

 

private void Form1_MouseMove(object sender, MouseEventArgs e)

{

        //Объявляем объект "g" класса Graphics

        //и при помощи функции CreateGraphics

        //предоставляем ему возможность рисования

        //на this Form1:

        Graphics g = this.CreateGraphics();

        //Определяем координаты "x" и "y" указателя мыши

        //в моменты перемещения мыши:

        x_MouseMove = e.X;

        y_MouseMove = e.Y;

        //Выбираем перо "myPen" красного цвета Red

        //толщиной в 3 пикселя:

        Pen myPen = new Pen(Color.Red, 3);

        //Если переключатель рисования

        //в виде переменной OffOn равен true:

        if (OffOn == true)

        {

            //после нажатия кнопки мыши и перемещения мыши

        //рисуется линия заданного цвета и толщины:




Начало  Назад  Вперед



Книжный магазин