Thrustmaster Hotas Warthog/猪杆/疣猪飞行操作杆开发(2)
来源:互联网 发布:coc蛮王升级数据表格 编辑:程序博客网 时间:2024/04/30 17:56
距离《Thrustmaster Hotas Warthog/猪杆/疣猪飞行操作杆开发》的出生已经过去了半年了,最近项目上又要用到飞行操作杆,所以,我也乘此机会进一步整理一下上一次没有说完整的后续开发细节,也就是关于 显示更多的操作杆数据的方法—使用图形设备接口函数’windows.h’(并不是MFC奥)
上一次只是显示了操作杆的X、Y轴的数据,这一次就以添加显示一个按钮为例,来直接进入主题。
接着,按步骤说明:
一、在 resource.h 文件中的:
#define IDD_DIALOG1 101#define IDD_Joystick 101#define IDC_COORDINATES 1001
代码下面添加:
#define IDC_COORDINATES1 1002
目的:定义一个文本框边界设定“对象”
二、将对应的资源文件*.rc 文件中的:
IDD_Joystick DIALOGEX 0, 0, 120, 37STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENUCLASS "JoystickClass"CAPTION "Joystick Example"FONT 12, "Segoe UI", 400, 0, 0x0BEGIN LTEXT "Joystick Coordinates",IDC_STATIC,7,5,100,10 LTEXT "",IDC_COORDINATES,7,18,103,12,WS_BORDEREND
修改为:
IDD_Joystick DIALOGEX 0, 0, 120, 137STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENUCLASS "JoystickClass"CAPTION "Joystick Example"FONT 12, "Segoe UI", 400, 0, 0x0BEGIN LTEXT "Joystick Coordinates",IDC_STATIC,7,5,100,10 LTEXT "",IDC_COORDINATES,7,18,103,12,WS_BORDER LTEXT "",IDC_COORDINATES1,7,35,103,12,WS_BORDEREND
目的:
1、修改对话框大小为 120x137,位置(0,0)不变
2、在原有文本框(坐标为(7,18))下面(坐标为(7,35))的位置添加一个大小同样是 103x12 的文本框
三、在对应的C++文件 *.cpp 中 Main function 的 WinMain 函数中做如下更改:
1、添加用来存储按钮状态的变量 ,添加代码:BYTE rButtons0 = 0;
2、将其中的:
if(is_first_render || (joystick_x != joy_state.lX || joystick_y != joy_state.lY )){ is_first_render = FALSE; sprintf(text, "%ld, %ld", joy_state.lX, joy_state.lY); SetWindowText(GetDlgItem(g_hwnd, IDC_COORDINATES), text);} joystick_x = joy_state.lX;joystick_y = joy_state.lY;
更改为:
if(is_first_render || (joystick_x != joy_state.lX || joystick_y != joy_state.lY || rButtons0 != joy_state.rgbButtons[0])){ is_first_render = FALSE; sprintf(text, "%ld, %ld", joy_state.lX, joy_state.lY); SetWindowText(GetDlgItem(g_hwnd, IDC_COORDINATES), text); sprintf(text, "%d", (int)joy_state.rgbButtons[0]); SetWindowText(GetDlgItem(g_hwnd, IDC_COORDINATES1), text);} joystick_x = joy_state.lX;joystick_y = joy_state.lY;rButtons0 = joy_state.rgbButtons[0];
保存,运行。。。
至此,便完成了 使用图形设备接口函数’windows.h’添加显示操作杆其他按钮或轴状态的工作了。。。
补充:
Joystick开发的例程可以在安装 Microsoft DirectX SDK 之后,在安装路径下…\Microsoft DirectX SDK \Samples\C++\DirectInput文件夹里找到,这个是微软的DirectX SDK中最原始的Joystick开发例程。
0 0
- Thrustmaster Hotas Warthog/猪杆/疣猪飞行操作杆开发
- Thrustmaster Hotas Warthog/猪杆/疣猪飞行操作杆开发(2)
- ThrustMaster HOTAS WARTHOG飞行摇杆评测
- Ubuntu 4.10 (Warty Warthog,长疣的疣猪)
- 开发疣猪飞行摇杆A10C(第一章)
- 开发疣猪飞行摇杆A10C(第二章)
- Android飞行模式开发
- (2)PX4开发指南——飞行模式/操控
- C#,GDI+开发飞行仪表
- 飞行棋2
- Navmeshagent与飞行(2)
- 飞行
- android飞行模式灰显不能操作问题分解
- Android飞行模式灰显不能操作问题分解
- [002]还在做游戏的飞行操作....
- [003]飞行操作脚本写完,进军姿态变换和武器系统
- android飞行模式灰显不能操作问题分解
- 简单2D飞行游戏练习
- java中的数据类型
- POJ 3250 Bad Hair Day
- 第一章百宝云基础语法新手教程第二节常用运算符
- 获取当前安装app列表
- ssm + ajax过程中遇到的问题
- Thrustmaster Hotas Warthog/猪杆/疣猪飞行操作杆开发(2)
- 从"变成"浅谈《新概念》三册中的措辞精准
- 内存管理之一__align字节对齐
- lua之字符串格式化
- CentOS 7 安装教程、硬盘分区、LVM、网络配置、软件源配置、制作
- do_softirq
- android在java代码中动态添加组件及相关布局方法(LayoutParams)
- poj 1459 Power Network SAP
- Spring - Bean的概念及其基础配置