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

Шаг 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
» Резюме »  

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

Шаг 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 (Элемент управления) Существует несколько переопределенных версий этого метода Каждая из них заставляет считать недействительной определенную область управляющего элемента и посылает элементу управления сообщение о перерисовывании Метод, который не содержит параметров, заставляет считать недействительным весь управляющий элемент Для того чтобы максимально уменьшить объем перерисовывания, в более сложном приложении можно ограничиться тем, что недействительным будет считаться прямоугольник



Содержание сайта (выборка)
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, справочник программиста
Яндекс цитирования