DirectInput - мышь и клавиатура

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Bazilius
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 14.11.2003 (Пт) 16:07
Откуда: Пермь

DirectInput - мышь и клавиатура

Сообщение Bazilius » 25.08.2009 (Вт) 14:04

Подскажите пожалуйста, когда создаем мышь и клавиатуру - необходимо ли создавать для каждой отдельное устройство (напр. DIDev As DirectInputDevice8) и структуру хранения состояния (напр. DIState As DIMOUSESTATE)? Если нет, то как тогда создавать одно устройство для мыши и клавиатуры (DI.CreateDevice("guid_SysMouse") и DI.CreateDevice("GUID_SysKeyboard"))? :oops:
Пока мой код выглядит так:
Код: Выделить всё
Option Explicit
'Инициализация DirectInput
'Объявляем класс DirectInput8
Public DI As DirectInput8
'Объявляем класс устройства DirectInput
Public DIDev As DirectInputDevice8
'Объявляем тип клавиш, необходим для их опроса
Public DIState As DIKEYBOARDSTATE
'Объявляем класс устройства DirectInput:Мышь
Public DIMDev As DirectInputDevice8
'Объявляем структуру состояния мыши
Public DIMState As DIMOUSESTATE
Public Sub DI_Init(hWnd As Long)
'Процедура инициализации DirectInput
    'Создаем DirectInput
    Set DI = DX.DirectInputCreate()
   
    'Создаем устройство DirectInput
    Set DIDev = DI.CreateDevice("GUID_SysKeyboard")
    Set DIMDev = DI.CreateDevice("GUID_SysMouse")
       
    'Устанавливаем флаги клавиатуры
    DIDev.SetCommonDataFormat DIFORMAT_KEYBOARD
    DIDev.SetCooperativeLevel hWnd, DISCL_BACKGROUND Or DISCL_NONEXCLUSIVE
    'Устанавливаем флаги мыши
    DIMDev.SetCommonDataFormat DIFORMAT_MOUSE
    DIMDev.SetCooperativeLevel hWnd, DISCL_NONEXCLUSIVE Or DISCL_BACKGROUND
   
   
    '"Приобретаем" устройство DirectInput
    DIDev.Acquire
    DIMDev.Acquire
End Sub
In the grim darkness of the far future, there is only war!

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: DirectInput - мышь и клавиатура

Сообщение VBTerminator » 25.08.2009 (Вт) 15:27

Bazilius писал(а):Подскажите пожалуйста, когда создаем мышь и клавиатуру - необходимо ли создавать для каждой отдельное устройство (напр. DIDev As DirectInputDevice8) и структуру хранения состояния (напр. DIState As DIMOUSESTATE)?

Да, т. к. это различные устройства с точки зрения ОС, и соответственно с точки зрения DirectX.

Bazilius
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 14.11.2003 (Пт) 16:07
Откуда: Пермь

Re: DirectInput - мышь и клавиатура

Сообщение Bazilius » 25.08.2009 (Вт) 16:56

Спасибо! :D
In the grim darkness of the far future, there is only war!


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList