C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 15 - Реализуем GetDeviceState / DirectInput / Microsoft DirectX

Шаг 15 - Реализуем GetDeviceState

Мы будем использовать описанную функцию для получения информации от мыши. Запрашивать информацию мы будем по таймеру, и выводить ее на форму.

Visual Basic
Visual C++

Visual Basic

Помещаем на форму элемент таймер и инициализируем начальные установки:

Private Sub Form_Load()
	.....
	dmmouse.Acquire
	Timer1.Interval = 1000
	Timer1.Enabled = True
End Sub

Описываем структуру с данными:

Dim stateMouse As DIMOUSESTATE
Dim dmmouse As DirectInputDevice
.......

Пишем реакцию на событие таймера:

Private Sub Timer1_Timer()
	dmmouse.GetDeviceStateMouse stateMouse
	Form1.Label1.Caption = Str(stateMouse.x)
End Sub

При запуске Вы увидите, что в окне отражается смещение мышки от текущей позиции.

15_1.gif (2984 b)

Visual C++

Создаем событие таймера, запускаем таймер при запуске диалогового окна.

BOOL CDImputDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	......

	// TODO: Add extra initialization here
	SetTimer(ID_TIMER_1,1000,NULL);  
	return TRUE;  // return TRUE  unless you set the focus to a control
}

Пишем функцию реакции на таймер:

void CDImputDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	HRESULT hr;
	DIMOUSESTATE dims;
	hr = g_pMouse->GetDeviceState( sizeof(DIMOUSESTATE), &dims );
	m_Edit=dims.lX;
	UpdateData(FALSE);
	CDialog::OnTimer(nIDEvent);
}

Запускаем и наблюдаем смешения мышки от текущей позиции.

15_2.gif (2249 b)


| |
Автор Каев Артем.
[AD]