入力中の文字の描写について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
げん

入力中の文字の描写について

#1

投稿記事 by げん » 12年前

以前質問した後このようなコードを作っていれたのですが一つ致命的な問題が発生したので質問投稿した次第です。
コード自体は問題なく動いているのですが、一つ使用する側に大きな欠点があることがわかりました。
全角の入力です。
全角の入力中に書き込み中の表示を出すことができないため、文字をどう変換しているのかがまったくわかりません。
ローマ字入力のみなら問題ないのですが全角にするとエンターがおされるまで入力した文字がまったく反応しません。

コード:

void InputString(int KEY,char *T,int X=300,int Y=300){
	static bool Input=false; 
	static int InputHandle ;
	if(KEY==1){
		if(Input==false){
			// キー入力ハンドルを作る(キャンセルなし全角文字有り数値入力じゃなし)
			InputHandle = MakeKeyInput( 90 , false , false , false ) ;

			// 作成したキー入力ハンドルをアクティブにする
			SetActiveKeyInput( InputHandle ) ;
			Input=true ;
		}
		else{
			if( CheckKeyInput( InputHandle ) != 0 ){
			 // 入力された文字列を取得
			 GetKeyInputString(T, InputHandle ) ;

			 // 用済みのインプットハンドルを削除する
			 DeleteKeyInput( InputHandle ) ;
			 Input=FALSE;
			}
		
		}
	
	}
	// 入力モードを描画
	DrawKeyInputModeString( 640 , 480 ) ; 
       //入力途中の文字列を描画
	DrawKeyInputString( X , Y , InputHandle ) ;
}

ご助力よろしくお願いします。

環境
Windows7
C++
DXライブラリをつかっています

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: 入力中の文字の描写について

#2

投稿記事 by h2so5 » 12年前

入力途中の文字はDrawKeyInputStringで表示されるはずです。
リファレンスのサンプルプログラムでも表示されませんか?その場合はIMEとの相性の問題かもしれません。

げん

Re: 入力中の文字の描写について

#3

投稿記事 by げん » 12年前

本当に申し訳ない限りです。
返事がくるまで他の部分を弄ろうとおもって弄っていたら、設定を何もかえていないのにも関わらず表示されるようになりました。

原因も分からず仕舞いですが、一応解決いたしました。

有難うございます。

閉鎖

“C言語何でも質問掲示板” へ戻る