バックスペースキーが押された時、自分が入力したコマンド文字列より前のフォーム文字列などを削除しないように止める。
Window.hで、
OnCharを追加。
Window.cppで、
WM_CHARでOnCharを呼ぶ。
戻り値-1なら0を返して入力キャンセルをする。
通常は入力キャンセルしないので0を返す。
CustomControl.cppも、
OnCharを呼ぶ。
ConsoleCore.hは、
入力開始位置m_lStartPosと入力現在位置m_lCurrentPos、そしてOnCharを追加。
ConsoleCore.cppは、
入力開始位置を0にしておく。
PutConsoleするたびに開始位置を更新。
バックスペースが押されたら、現在位置が開始位置より手前だったら入力キャンセル。
フォーム文字列の末尾が開始位置。
"hoge"と入力して、
入力文字列にはバックスペースが効くが、
ここより前には戻れない。
・バックスペースキーが押されたときの処理 · bg1bgst333/VizCommand@5afa9f3 · GitHub