Шаг 3 - Создаем объект DirectInput

Итак, для работы нам нужно создать объект DirectInput. Зависит все от среды разработки.

Visual Basic
Visual C++

Visual Basic

Подключаем библиотеку DirectX:

3_1.gif (4168 b)

С этого момента нам станет доступен объект DirectInput:

3_2.gif (4655 b)

Дальше идея похожая, создаем объект DirectDraw из него DirectInput, а дальше можно вызывать функции, например, показать панель настройки.

Dim objDirectX As DirectX7
Dim dri As DirectInput

Private Sub Command1_Click()
	dri.RunControlPanel (Form1.hWnd)
End Sub

Private Sub Form_Load()
    Set objDirectX = New DirectX7
Set dri = objDirectX.DirectInputCreate
End Sub

По нажатию на кнопку появится панель управления:

3_3.gif (8973 b)

Visual C++

Подключаем описание интерфейсов и библиотек. Взять их можно из проекта:

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "dinput.h"
#pragma comment(lib,"dinput.lib")

///////////////////////
// CDImputDlg dialog

class CDImputDlg : public CDialog
......

Описываем переменную интерфейса

class CDImputDlg : public CDialog
{
// Construction
public:
	CDImputDlg(CWnd* pParent = NULL);	// standard constructor
	IDirectInput* g_pDI;  
	// Dialog Data
	//{{AFX_DATA(CDImputDlg)
........

При инициализации диалога создаем объект.

BOOL CDImputDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	g_pDI = NULL;
	HRESULT hr;
	hr = DirectInputCreate(AfxGetApp()->m_hInstance,
		DIRECTINPUT_VERSION, &g_pDI, NULL);
	if FAILED(hr) 
	{ 
		return FALSE;
	}

	// Add "About..." menu item to system menu.
	.......
}

По нажатию на кнопку вызываем панель управления:

void CDImputDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	g_pDI->RunControlPanel(this->m_hWnd,0); 
}

А вот и результат:

3_4.gif (8803 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 29.05.2002