トップページ > 記事閲覧
MakeKeyInputでの全角半角切り替えについて
名前:TK 日時: 2023/05/25 16:18

いつもお世話になっております MakeKeyInputでの全角半角切り替えについて確認させていただけないでしょうか? 以下のように全角半角を切り替えながら何度か文字入力を行うと半角入力時に入力を受け付けなくなります ・MakeKeyInputのテストコードを元に作成した下記のコードを実行する ・全角に切り替えて全角文字を入力してEnter(入力モードは全角のままにしておく) ・あなたが入力した文字列は〜と表示するのでもう一度Enter ・右下に[半角英数]と表示されており、半角入力が不能になる 解決方法はございますでしょうか? 使用しているDXライブラリは3.24a OSはWindows 10 Pro 使用言語は C++ VS2019 です 類似質問 dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=3041 #include "DxLib.h" void Sub(int InputHandle) { char String[256]; int y = 0; // 作成したキー入力ハンドルをアクティブにする SetActiveKeyInput(InputHandle); // キー入力終了待ちループ // (ProcessMessageをループごとに行う) while (!ProcessMessage()) { // 画面の初期化 ClearDrawScreen(); // 入力が終了している場合は終了 if (CheckKeyInput(InputHandle) != 0) break; // 入力モードを描画 DrawKeyInputModeString(640, 480); // 入力途中の文字列を描画 DrawKeyInputString(0, y, InputHandle); // 裏画面の内容を表画面に反映させる ScreenFlip(); } y += 16; // 入力された文字列を取得 GetKeyInputString(String, InputHandle); // 用済みのインプットハンドルを削除する DeleteKeyInput(InputHandle); // 入力された文字列を画面に表示する DrawString(0, y, "あなたが入力した文字列は", GetColor(255, 255, 255)); y += 16; DrawString(0, y, String, GetColor(255, 255, 255)); y += 16; // 裏画面の内容を表画面に反映させる ScreenFlip(); // 用済みのインプットハンドルを削除する DeleteKeyInput(InputHandle); // キー入力待ち WaitKey(); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { int InputHandle; // DXライブラリの初期化 if (DxLib_Init() == -1) return -1; ChangeWindowMode(TRUE); // 描画先を裏にする SetDrawScreen(DX_SCREEN_BACK); // キー入力ハンドルを作る(キャンセルなし、全角文字有り、数値入力なし) InputHandle = MakeKeyInput(50, TRUE, FALSE, FALSE); Sub(InputHandle); // キー入力ハンドルを作る(キャンセルなし、全角文字なし、数値入力なし) InputHandle = MakeKeyInput(50, TRUE, TRUE, FALSE); Sub(InputHandle); // DXライブラリの使用終了 DxLib_End(); // 終了 return 0; }
メンテ

Page: 1 |

Re: MakeKeyInputでの全角半角切り替えについて ( No.1 )
名前:TK 日時:2023/05/25 16:21

一回目の入力時に全角で入力した後、全角入力モードを解除(半角/全角キー押下)してからEnterすれば 問題なく動作します
メンテ
Re: MakeKeyInputでの全角半角切り替えについて ( No.2 )
名前:管理人 日時:2023/05/26 02:03

ありがとうございます、載せていただいたプログラムで手元の環境でも現象を確認できました すみません、こちらはDXライブラリのバグとなります 半角入力が可能になるように修正しましたので、よろしければこちらの修正版をお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: MakeKeyInputでの全角半角切り替えについて ( No.3 )
名前:TK (解決) 日時:2023/05/26 14:09

問題が解決しているのを確認致しました 速やかなご対応ありがとうございます 今後もDXライブラリを愛用させていただきます
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存