トップページ > 記事閲覧
MakeKeyInputを使用した文字入力の挙動について
名前:takatwu 日時: 2014/10/30 20:32

MakeKeyInputを使用した文字入力において 最大文字数を超えて入力しようとすると入力済みの文字列の最後の文字が上書きされると思います。 これを上書きされずに入力されないようにすることは出来ないでしょうか?
メンテ

Page: 1 |

Re: MakeKeyInputを使用した文字入力の挙動について ( No.1 )
名前:管理人 日時:2014/10/31 00:26

現状ではできないので、上書きされないようにする為の機能を追加しました よろしければ機能を追加したこちらのバージョンをダウンロードしてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) 以下の関数を追加しました // キー入力文字列処理の入力文字数が限界に達している状態で // 文字列の末端部分で入力が行われた場合の処理モードを変更する int SetKeyInputStringEndCharaMode( int EndCharaMode ) ; 引数の EndCharaMode には以下の二つの値のどちらかを渡します // 文字数が限界に達している状態で文字列の末端で文字が入力された場合は、最後の文字を上書きする( デフォルト ) #define DX_KEYINPSTR_ENDCHARAMODE_OVERWRITE (0) // 文字数が限界に達している状態で文字列の末端で文字が入力された場合は、何も変化しない #define DX_KEYINPSTR_ENDCHARAMODE_NOTCHANGE (1) 初期状態では DX_KEYINPSTR_ENDCHARAMODE_OVERWRITE になっているので、 DX_KEYINPSTR_ENDCHARAMODE_NOTCHANGE を渡して SetKeyInputStringEndCharaMode を呼んでください そうすれば以降文字数が限界に達している状態で、文字列の末端にカーソルがある状態で文字を入力しても 最後の文字が上書きされなくなります ( 因みにカーソルが文字列の末端ではない箇所にある場合は DX_KEYINPSTR_ENDCHARAMODE_OVERWRITE と同じ動作をします )
メンテ
Re: MakeKeyInputを使用した文字入力の挙動について ( No.2 )
名前:takatwu(解決) 日時:2014/11/03 13:24

対応頂きありがとうございます。 無事末端の文字が上書きされないことを確認しました。
メンテ

Page: 1 |

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

   クッキー保存