然后在函数BOOL CDIJoystickDlg::OnInitDialog()的最后添加如下代码: joystick.m_hWnd = m_hWnd; //首先获得窗口句柄 首先需要把窗口句柄赋值到m_hWnd中,因为在设置协作等级的时候需要用到这个句柄。然后进行初始化。最后设置一个50毫秒的定时器,它会产生WM_TIMER消息。 在CDirectInputJSDlg类的属性框中点击重写标签添加CDirectInputJSDlg::OnCancel()函数。加入如下代码: KillTimer(1); //销毁定时器 在CDirectInputJSDlg类的属性框中点击消息标签,在WM_TIMER消息中选择添加OnTimer()函数,将下面代码写入函数: char ch[20]; 这里如果轮循失败,则销毁定时器,做出提示。然后判断joystick.m_diJs的各个成员。 注意joystick.m_diJs.rgbButtons[i] & 0x80 ,判断手柄按钮的状态需要让它跟0x80相与。 另外,如果要使用StringCchPrintf()函数,需要添加头文件,#include <strsafe.h>。 现在离完成仅仅剩一步之遥了,你需要的是对环境的设置。 右键点击工程,选择属性,在链接器,输入选项框中的附加依赖项中添加如下的库: dxguid.lib dxerr9.lib dinput8.lib comctl32.lib 然后在菜单栏工具中选择选项,项目,VC++目录选项框中添加SDK的包含文件目录和库文件目录。 最后你可以编译你的程序看看是否成功。在Debug模式下,可以在调试栏中看到输出信息。 嗯,基本上就是这样。如果你需要对手柄的输入做更多的输出,那么你可以费费心思设计更好的程序。 |
正在阅读:MFC下DirectX DirectInput的实现MFC下DirectX DirectInput的实现
2005-07-27 10:07
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键