Win32 API 日本語リファレンス
ホームUI.Input.GameInput › GameInputUiNavigationInfo

GameInputUiNavigationInfo

構造体
サイズx64: 84 バイト / x86: 84 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

フィールドサイズx64x86説明
menuButtonLabelGameInputLabel4+0+0メニューボタンの物理ラベルである。
viewButtonLabelGameInputLabel4+4+4ビューボタンの物理ラベルである。
acceptButtonLabelGameInputLabel4+8+8決定ボタンの物理ラベルである。
cancelButtonLabelGameInputLabel4+12+12キャンセルボタンの物理ラベルである。
upButtonLabelGameInputLabel4+16+16上方向ボタンの物理ラベルである。
downButtonLabelGameInputLabel4+20+20下方向ボタンの物理ラベルである。
leftButtonLabelGameInputLabel4+24+24左方向ボタンの物理ラベルである。
rightButtonLabelGameInputLabel4+28+28右方向ボタンの物理ラベルである。
contextButton1LabelGameInputLabel4+32+32コンテキストボタン1の物理ラベルである。
contextButton2LabelGameInputLabel4+36+36コンテキストボタン2の物理ラベルである。
contextButton3LabelGameInputLabel4+40+40コンテキストボタン3の物理ラベルである。
contextButton4LabelGameInputLabel4+44+44コンテキストボタン4の物理ラベルである。
pageUpButtonLabelGameInputLabel4+48+48ページアップボタンの物理ラベルである。
pageDownButtonLabelGameInputLabel4+52+52ページダウンボタンの物理ラベルである。
pageLeftButtonLabelGameInputLabel4+56+56ページ左ボタンの物理ラベルである。
pageRightButtonLabelGameInputLabel4+60+60ページ右ボタンの物理ラベルである。
scrollUpButtonLabelGameInputLabel4+64+64上スクロールボタンの物理ラベルである。
scrollDownButtonLabelGameInputLabel4+68+68下スクロールボタンの物理ラベルである。
scrollLeftButtonLabelGameInputLabel4+72+72左スクロールボタンの物理ラベルである。
scrollRightButtonLabelGameInputLabel4+76+76右スクロールボタンの物理ラベルである。
guideButtonLabelGameInputLabel4+80+80ガイド(ホーム)ボタンの物理ラベルである。

各言語での定義

#include <windows.h>

// GameInputUiNavigationInfo  (x64 84 / x86 84 バイト)
typedef struct GameInputUiNavigationInfo {
    GameInputLabel menuButtonLabel;
    GameInputLabel viewButtonLabel;
    GameInputLabel acceptButtonLabel;
    GameInputLabel cancelButtonLabel;
    GameInputLabel upButtonLabel;
    GameInputLabel downButtonLabel;
    GameInputLabel leftButtonLabel;
    GameInputLabel rightButtonLabel;
    GameInputLabel contextButton1Label;
    GameInputLabel contextButton2Label;
    GameInputLabel contextButton3Label;
    GameInputLabel contextButton4Label;
    GameInputLabel pageUpButtonLabel;
    GameInputLabel pageDownButtonLabel;
    GameInputLabel pageLeftButtonLabel;
    GameInputLabel pageRightButtonLabel;
    GameInputLabel scrollUpButtonLabel;
    GameInputLabel scrollDownButtonLabel;
    GameInputLabel scrollLeftButtonLabel;
    GameInputLabel scrollRightButtonLabel;
    GameInputLabel guideButtonLabel;
} GameInputUiNavigationInfo;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct GameInputUiNavigationInfo
{
    public int menuButtonLabel;
    public int viewButtonLabel;
    public int acceptButtonLabel;
    public int cancelButtonLabel;
    public int upButtonLabel;
    public int downButtonLabel;
    public int leftButtonLabel;
    public int rightButtonLabel;
    public int contextButton1Label;
    public int contextButton2Label;
    public int contextButton3Label;
    public int contextButton4Label;
    public int pageUpButtonLabel;
    public int pageDownButtonLabel;
    public int pageLeftButtonLabel;
    public int pageRightButtonLabel;
    public int scrollUpButtonLabel;
    public int scrollDownButtonLabel;
    public int scrollLeftButtonLabel;
    public int scrollRightButtonLabel;
    public int guideButtonLabel;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure GameInputUiNavigationInfo
    Public menuButtonLabel As Integer
    Public viewButtonLabel As Integer
    Public acceptButtonLabel As Integer
    Public cancelButtonLabel As Integer
    Public upButtonLabel As Integer
    Public downButtonLabel As Integer
    Public leftButtonLabel As Integer
    Public rightButtonLabel As Integer
    Public contextButton1Label As Integer
    Public contextButton2Label As Integer
    Public contextButton3Label As Integer
    Public contextButton4Label As Integer
    Public pageUpButtonLabel As Integer
    Public pageDownButtonLabel As Integer
    Public pageLeftButtonLabel As Integer
    Public pageRightButtonLabel As Integer
    Public scrollUpButtonLabel As Integer
    Public scrollDownButtonLabel As Integer
    Public scrollLeftButtonLabel As Integer
    Public scrollRightButtonLabel As Integer
    Public guideButtonLabel As Integer
End Structure
import ctypes
from ctypes import wintypes

class GameInputUiNavigationInfo(ctypes.Structure):
    _fields_ = [
        ("menuButtonLabel", ctypes.c_int),
        ("viewButtonLabel", ctypes.c_int),
        ("acceptButtonLabel", ctypes.c_int),
        ("cancelButtonLabel", ctypes.c_int),
        ("upButtonLabel", ctypes.c_int),
        ("downButtonLabel", ctypes.c_int),
        ("leftButtonLabel", ctypes.c_int),
        ("rightButtonLabel", ctypes.c_int),
        ("contextButton1Label", ctypes.c_int),
        ("contextButton2Label", ctypes.c_int),
        ("contextButton3Label", ctypes.c_int),
        ("contextButton4Label", ctypes.c_int),
        ("pageUpButtonLabel", ctypes.c_int),
        ("pageDownButtonLabel", ctypes.c_int),
        ("pageLeftButtonLabel", ctypes.c_int),
        ("pageRightButtonLabel", ctypes.c_int),
        ("scrollUpButtonLabel", ctypes.c_int),
        ("scrollDownButtonLabel", ctypes.c_int),
        ("scrollLeftButtonLabel", ctypes.c_int),
        ("scrollRightButtonLabel", ctypes.c_int),
        ("guideButtonLabel", ctypes.c_int),
    ]
#[repr(C)]
pub struct GameInputUiNavigationInfo {
    pub menuButtonLabel: i32,
    pub viewButtonLabel: i32,
    pub acceptButtonLabel: i32,
    pub cancelButtonLabel: i32,
    pub upButtonLabel: i32,
    pub downButtonLabel: i32,
    pub leftButtonLabel: i32,
    pub rightButtonLabel: i32,
    pub contextButton1Label: i32,
    pub contextButton2Label: i32,
    pub contextButton3Label: i32,
    pub contextButton4Label: i32,
    pub pageUpButtonLabel: i32,
    pub pageDownButtonLabel: i32,
    pub pageLeftButtonLabel: i32,
    pub pageRightButtonLabel: i32,
    pub scrollUpButtonLabel: i32,
    pub scrollDownButtonLabel: i32,
    pub scrollLeftButtonLabel: i32,
    pub scrollRightButtonLabel: i32,
    pub guideButtonLabel: i32,
}
import "golang.org/x/sys/windows"

type GameInputUiNavigationInfo struct {
	menuButtonLabel int32
	viewButtonLabel int32
	acceptButtonLabel int32
	cancelButtonLabel int32
	upButtonLabel int32
	downButtonLabel int32
	leftButtonLabel int32
	rightButtonLabel int32
	contextButton1Label int32
	contextButton2Label int32
	contextButton3Label int32
	contextButton4Label int32
	pageUpButtonLabel int32
	pageDownButtonLabel int32
	pageLeftButtonLabel int32
	pageRightButtonLabel int32
	scrollUpButtonLabel int32
	scrollDownButtonLabel int32
	scrollLeftButtonLabel int32
	scrollRightButtonLabel int32
	guideButtonLabel int32
}
type
  GameInputUiNavigationInfo = record
    menuButtonLabel: Integer;
    viewButtonLabel: Integer;
    acceptButtonLabel: Integer;
    cancelButtonLabel: Integer;
    upButtonLabel: Integer;
    downButtonLabel: Integer;
    leftButtonLabel: Integer;
    rightButtonLabel: Integer;
    contextButton1Label: Integer;
    contextButton2Label: Integer;
    contextButton3Label: Integer;
    contextButton4Label: Integer;
    pageUpButtonLabel: Integer;
    pageDownButtonLabel: Integer;
    pageLeftButtonLabel: Integer;
    pageRightButtonLabel: Integer;
    scrollUpButtonLabel: Integer;
    scrollDownButtonLabel: Integer;
    scrollLeftButtonLabel: Integer;
    scrollRightButtonLabel: Integer;
    guideButtonLabel: Integer;
  end;
const GameInputUiNavigationInfo = extern struct {
    menuButtonLabel: i32,
    viewButtonLabel: i32,
    acceptButtonLabel: i32,
    cancelButtonLabel: i32,
    upButtonLabel: i32,
    downButtonLabel: i32,
    leftButtonLabel: i32,
    rightButtonLabel: i32,
    contextButton1Label: i32,
    contextButton2Label: i32,
    contextButton3Label: i32,
    contextButton4Label: i32,
    pageUpButtonLabel: i32,
    pageDownButtonLabel: i32,
    pageLeftButtonLabel: i32,
    pageRightButtonLabel: i32,
    scrollUpButtonLabel: i32,
    scrollDownButtonLabel: i32,
    scrollLeftButtonLabel: i32,
    scrollRightButtonLabel: i32,
    guideButtonLabel: i32,
};
type
  GameInputUiNavigationInfo {.bycopy.} = object
    menuButtonLabel: int32
    viewButtonLabel: int32
    acceptButtonLabel: int32
    cancelButtonLabel: int32
    upButtonLabel: int32
    downButtonLabel: int32
    leftButtonLabel: int32
    rightButtonLabel: int32
    contextButton1Label: int32
    contextButton2Label: int32
    contextButton3Label: int32
    contextButton4Label: int32
    pageUpButtonLabel: int32
    pageDownButtonLabel: int32
    pageLeftButtonLabel: int32
    pageRightButtonLabel: int32
    scrollUpButtonLabel: int32
    scrollDownButtonLabel: int32
    scrollLeftButtonLabel: int32
    scrollRightButtonLabel: int32
    guideButtonLabel: int32
struct GameInputUiNavigationInfo
{
    int menuButtonLabel;
    int viewButtonLabel;
    int acceptButtonLabel;
    int cancelButtonLabel;
    int upButtonLabel;
    int downButtonLabel;
    int leftButtonLabel;
    int rightButtonLabel;
    int contextButton1Label;
    int contextButton2Label;
    int contextButton3Label;
    int contextButton4Label;
    int pageUpButtonLabel;
    int pageDownButtonLabel;
    int pageLeftButtonLabel;
    int pageRightButtonLabel;
    int scrollUpButtonLabel;
    int scrollDownButtonLabel;
    int scrollLeftButtonLabel;
    int scrollRightButtonLabel;
    int guideButtonLabel;
}

HSP用 定義

HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; GameInputUiNavigationInfo サイズ: 84 バイト(x64)
dim st, 21    ; 4byte整数×21(構造体サイズ 84 / 4 切り上げ)
; menuButtonLabel : GameInputLabel (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; viewButtonLabel : GameInputLabel (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; acceptButtonLabel : GameInputLabel (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; cancelButtonLabel : GameInputLabel (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; upButtonLabel : GameInputLabel (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; downButtonLabel : GameInputLabel (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; leftButtonLabel : GameInputLabel (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; rightButtonLabel : GameInputLabel (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; contextButton1Label : GameInputLabel (+32, 4byte)  st.8 = 値  /  値 = st.8   (lpoke/lpeek も可)
; contextButton2Label : GameInputLabel (+36, 4byte)  st.9 = 値  /  値 = st.9   (lpoke/lpeek も可)
; contextButton3Label : GameInputLabel (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; contextButton4Label : GameInputLabel (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; pageUpButtonLabel : GameInputLabel (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; pageDownButtonLabel : GameInputLabel (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; pageLeftButtonLabel : GameInputLabel (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; pageRightButtonLabel : GameInputLabel (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; scrollUpButtonLabel : GameInputLabel (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; scrollDownButtonLabel : GameInputLabel (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; scrollLeftButtonLabel : GameInputLabel (+72, 4byte)  st.18 = 値  /  値 = st.18   (lpoke/lpeek も可)
; scrollRightButtonLabel : GameInputLabel (+76, 4byte)  st.19 = 値  /  値 = st.19   (lpoke/lpeek も可)
; guideButtonLabel : GameInputLabel (+80, 4byte)  st.20 = 値  /  値 = st.20   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global GameInputUiNavigationInfo
    #field int menuButtonLabel
    #field int viewButtonLabel
    #field int acceptButtonLabel
    #field int cancelButtonLabel
    #field int upButtonLabel
    #field int downButtonLabel
    #field int leftButtonLabel
    #field int rightButtonLabel
    #field int contextButton1Label
    #field int contextButton2Label
    #field int contextButton3Label
    #field int contextButton4Label
    #field int pageUpButtonLabel
    #field int pageDownButtonLabel
    #field int pageLeftButtonLabel
    #field int pageRightButtonLabel
    #field int scrollUpButtonLabel
    #field int scrollDownButtonLabel
    #field int scrollLeftButtonLabel
    #field int scrollRightButtonLabel
    #field int guideButtonLabel
#endstruct

stdim st, GameInputUiNavigationInfo        ; NSTRUCT 変数を確保
st->menuButtonLabel = 100
mes "menuButtonLabel=" + st->menuButtonLabel