Итак, для работы нам нужно создать объект DirectInput. Зависит все от среды разработки.
Visual Basic Подключаем библиотеку DirectX:
С этого момента нам станет доступен объект DirectInput:
Дальше идея похожая, создаем объект DirectDraw из него DirectInput, а дальше можно вызывать функции, например, показать панель настройки.
По нажатию на кнопку появится панель управления:
Подключаем описание интерфейсов и библиотек. Взять их можно из проекта:
Описываем переменную интерфейса
При инициализации диалога создаем объект.
По нажатию на кнопку вызываем панель управления:
А вот и результат:
Visual C++
Visual Basic
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
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);
}