トップページ > 過去ログ > 記事閲覧
文字入力時のカーソルについて
名前:うはwwおkww 日時: 2012/04/20 08:24

例えば、ここのスレッドに書き込むときもカーソルって言うんですか? |が文字の最後尾に点滅していますが、 これをDxLibを用いて実装したいと思いました 使用すればいいと思われる関数は 点滅に関しては extern int SetKeyInputCursorBrinkTime( int Time ) ; // キー入力時のカーソルの点滅する早さをセットする extern int SetKeyInputCursorBrinkFlag( int Flag ) ; // キー入力時のカーソルを点滅させるかどうかをセットする で 文字の最後尾に持ってくるためには extern int SetKeyInputCursorPosition( int Position, int InputHandle ) ; // キー入力の現在のカーソル位置を設定する extern int GetKeyInputCursorPosition( int InputHandle ) ; // キー入力の現在のカーソル位置を取得する だと思うのですが いまいち使い方が分かりません。 この関数を使用すればいい場合どのようにすればよいのか、もしくはどの関数をどのように用いればいいのか教えていただけないでしょうか?

Page: 1 |

Re: 文字入力時のカーソルについて ( No.1 )
名前:いっち 日時:2012/04/20 19:49

それらの関数は MakeKeyInput や KeyInputString の動作を設定するものだと思います。 //- 以下、テストコード -// #include "DxLib.h" int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { ChangeWindowMode( TRUE ); char String[ 256 ] ; int InputHandle ; if( DxLib_Init() == -1 ) return -1 ; SetDrawScreen( DX_SCREEN_BACK ) ; SetKeyInputCursorBrinkFlag( TRUE ); SetKeyInputCursorBrinkTime( 250 ); InputHandle = MakeKeyInput( 50 , FALSE , FALSE , FALSE ) ; SetActiveKeyInput( InputHandle ) ; while( !ProcessMessage() ) { if( CheckKeyInput( InputHandle ) != 0 ) break ; SetKeyInputCursorPosition( 0, InputHandle ); ClearDrawScreen() ; DrawKeyInputModeString( 640 , 480 ) ; DrawKeyInputString( 0 , 0 , InputHandle ) ; ScreenFlip() ; } GetKeyInputString( String , InputHandle ) ; DeleteKeyInput( InputHandle ) ; ClearDrawScreen() ; DrawString( 0 , 0 , "あなたが入力した文字列は" , GetColor( 255 , 255 , 255 ) ) ; DrawString( 0 , 16 , String , GetColor( 255 , 255 , 255 ) ) ; ScreenFlip() ; WaitKey() ; DxLib_End() ; return 0 ; }
Re: 文字入力時のカーソルについて ( No.2 )
名前:うはwwおkww(解決) 日時:2012/04/20 20:38

ありがとうございます。作っていただいたサンプルだとカーソル点滅だけだったのですが、 whileの前に   int i = 0; を入れ、 SetKeyInputCursorPosition( 0, InputHandle ); を SetKeyInputCursorPosition( i++, InputHandle ); にすることでカーソルの位置を変更することも出来ました。 本当にありがとうございました

Page: 1 |