на начало
На главную страницу
Форум   

Статья :: Шаг 2: Обработка событий мыши


Шаг 2: Обработка событий мыши

На шаге 2 мы внесем изменения в приложение, чтобы при щелчке любой кнопкой мыши строка с приветствием перемещалась на место щелчка На рис. 6.7 можно увидеть, что после щелчка кнопкой мыши строка действительно переместилась

7.gif

Рис. 6.7. Перемещение текста по щелчку кнопкой мыши (Шаг 2)

//SimpleForm.cpp - Шаг 2
// SimpleForm.срр - 2
// Эта версия отображает приветствие, которое может быть перемещено
// щелчком кнопки мыши
fusing <mscorlib.dll>
fusing <System.dll>
fusing <System.Drawing dll>
fusing <System.Windows.Forms dll>
using namespace System;
// использование пространства имен Система;
using namespace System::Windows. Forms;
// использование пространства имен Система::Windows::Формы;
using namespace System::Drawing;
// использование пространства имен Система:: Рисунок;
_go class Forml : public Form
// класс сборщика мусора Forml: общедоступная Форма
{
private: // частный
void InitializeComponent()
{
MouseDown += new MouseEventHandler // новый обработчик
// события
(this, Forml_MouseDown);
}
float x, у; // с плавающей точкой
Brush *pStdBrush; // Кисть public:
Forml()
{
InitializeComponent(); Size = // Размер
*_nogc new System::Drawing::Size(300,200); // Размер
Text = "Simple Form - Step 2"; // Текст = "Простая Форма - Шаг 2"; x = у = 10;
pStdBrush = new SolidBrush(Color::Black) ; // Красить::Черным
}
protected- // защищенный void Forml_MouseDown
(Object *pSender, MouseEventArgs *pmea)
{
x = pmea->X; у = pmea->Y;
Invalidate(); I
}

Во время инициализации программа связывает метод Forml_MouseDown с событием MouseDown (Кнопка мыши нажата) Этот метод устанавливает координаты текста, х и у, равными координатам точки, в которой находился указатель в момент щелчка Для того чтобы понять роль метода Invalidate (Считать недействительным), закомментируйте его и снова скомпонуйте код Щелкните мышью, чтобы перенести текст Что произойдет в результате9 Приветствие останется на том же месте Потом накройте окно приложения каким-либо другим окном, а потом снова откройте его Теперь вы увидите, что строка перемещена
Метод Invalidate (Считать недействительным) определен в базовом классе Control (Элемент управления) Существует несколько переопределенных версий этого метода Каждая из них заставляет считать недействительной определенную область управляющего элемента и посылает элементу управления сообщение о перерисовывании Метод, который не содержит параметров, заставляет считать недействительным весь управляющий элемент Для того чтобы максимально уменьшить объем перерисовывания, в более сложном приложении можно ограничиться тем, что недействительным будет считаться прямоугольник


Шаг 2: Обработка событий мыши

страницы в данном разделе 
Глава 6. Создание графических пользовательских интерфейсов Создание графических пользовательских интерфейсов
Иерархия Windows Forms (Формы Windows) Создание простых форм с помощью комплекса инструментальных средств разработки программ .NET SDK
Шаг 0: Создание простой формы Шаг 1: Отображение текста на форме
Обработка событий в Windows Forms (Формы Windows) Документация по обработке событий
Событие MouseDown (Кнопка мыши нажата) Шаг 2: Обработка событий мыши
Шаг 2М: Несколько обработчиков для события Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)
index12.html Шаг 4: Меню для выхода из программы
Код меню Код события Menu (Меню)
Управляющие элементы Шаг 5: Использование управляющего элемента TextBox (Поле)
Visual Studio.NET и формы Демонстрация Windows Forms (Формы Windows)
Окно конструктора (Design window) и окно кода (Code window) Добавление события
Код обработчика события Использование управляющего элемента Menu (Меню)
Закрытие формы (Выход из формы) Диалоговые окна
Документация по диалогам .NET Демонстрация диалогового окна
Управляющий элемент ListBox (Список элементов) Начальная загрузка списка элементов
Выбор элемента в списке элементов ListBox Пример бюро путешествий Acme (Acme Travel Agency) — шаг 3
Резюме >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста