新しいキー入力データの作成
val = MakeKeyInput(MaxStrLength, CancelValidFlag, SingleCharOnlyFlag, NumCharOnlyFlag)
int MaxStrLength : 入力できる最大文字数(半角文字単位) int CancelValidFlag : ESCキーによるキャンセル機能の有無(TRUE:有 FALSE:無) int SingleCharOnlyFlag : 半角文字のみの入力か否か(TRUE:半角文字のみ FALSE:フラグ無効) int NumCharOnlyFlag : 数値文字のみの入力か否か(TRUE:数字文字のみ FALSE:フラグ無効)
(プラグイン / モジュール : DxLibW)
この関数から以下のすべての関数は上記の直接的な文字列入力関数とは違い、 すべてこの関数で得られる『キー入力ハンドル』という識別番号を使用してキー入力を行うための関数となります。 そもそもDXライブラリを使用したソフトでチャットソフトを作成するとなると、 キー入力を常に受けつけながら相手から送信されたメッセージをいつでも受け取れるようにしなくてはならないので、 そのようなキー入力では上記の KeyInputString 等のキー入力が終了するまで関数から処理が抜けないタイプの関数では対応できません。 そこでキー入力は勝手にやらせておいて、それとは別に相手からメッセージが来た場合はすぐに画面に表示するような処理をするためにキー入力ハンドルというものを使用したキー入力手段を用意しました。 その方法を以下に示します。 1.MakeKeyInput で目的に合ったキー入力ハンドルを作成 2.SetActiveKeyInput 作成したキー入力ハンドルをアクティブにする、 以降キーの入力はアクティブにしたキー入力ハンドルが受け持つデータ 領域に流れます。 3.CheckKeyInput でキー入力が終了したか調べる、終っていないうちは DrawKeyInputString でキー入力の途中経過を画面の好きなところに 描画する。 必要であれば現在の入力モードを DrawKeyInputModeString を使用 して描画する。 4.キー入力が終っていたら GetKeyInputString 又は GetKeyInput Number で入力結果の文字列(又は数値)を得る 5.DeleteKeyInput で作成したキー入力ハンドルを削除する ここでは最初の MakeKeyInput 関数について、この関数では作成したキー入力ハンドルで入力できる文字の数をまず MaxStrLength で指定します、 単位は半角文字単位で日本語のひらがな・漢字などは半角でいう2文字になりますので注意してください。 次に CancelValidFlag は入力にキャンセルを有効にするかどうか、です。 有効にした場合は ESC キーを押すことによって入力はキャンセルされます。 キャンセルされたのか、正常に入寮が終了したのかは (6-19)CheckKeyInput 関数によって知ることが出来ます。 なお有効にする場合は TRUE , しない場合は FALSE をセットします。 次に SingleCharOnlyFlag ですがこれは日本語文字などのいわゆる2バイト文字(全角文字)の入力を出来ないようにするか、 否かのパラメータです。これを有効( TRUE )にすると日本語の入力をしようとしてもはじかれます。 有効にしない場合は FALSE にします。 最後に NumCharOnlyFlag は半角の数字文字のみを入力できるようにするか、 を指定するパラメータです。これを TRUE にすることによって半角の 0 から 9 までの文字しか入力できなくなります。 16進数でいえば a から f もあるのですがDXライブラリでは16進数は対応していません。無効にする場合は FALSE です。 このように指定して関数を呼ぶとキー入力ハンドルの作成に成功すれば戻り値としてハンドルとなる int 型の数値が得られます。以降この数値はキー入力終了時まで必要となるので保存しておきます。 ※ DxLib のハンドル値は 32bit/64bit 共に int 型です。 戻り値: -1 :エラー発生
| プラグイン / モジュール | DxLibW |
| バージョン | 3.24f |
| 作成日 | 2026/04/12 |
| 著作者 | DxLib: Takumi Yamada / HSP binding: IronHSP Project |
| URL | https://dxlib.xsrv.jp/ |
| 備考 | hspdxlib.as をインクルードして使用 |
| タイプ | DxLib ゲームライブラリ |
| グループ | DxLib 入力 |
| 対応環境 |
|
| hs ファイル | hsphelp\hspdxlib.hs |