トップページ > 記事閲覧
ALTキー押下時について
名前:SweetBlack 日時: 2013/12/17 10:07

いつもお世話になっております。 早速ですが質問させていただきます。 ALT+ENTERの押下時にウィンドウモード、フルスクリーンモードの切り替えをするようにプログラムしていました。 ところが、DXライブラリ3.09の時点ではできていたのに、3.11に入れ替えるとできなくなってしまいました。 (途中のバージョンは試していません) 色々試してみたところ、どうもALTキー押下時の対応が変わっているように感じました。 具体的には次のようになります。 GetHitKeyStateAll( KEY_Buf ) ;     if( ( KEY_Buf[ KEY_INPUT_RALT ] == 1 && KEY_Buf[ KEY_INPUT_RETURN ] == 1 )) 〜 のようなプログラムで、 ・ウィンドウモード時のみに発生。フルスクリーン時には発生しない。 ・ALTキーを押して(押しっぱなし)から、ENTERキーを押しても反応しない。  ENTERキーを押しっぱなしでALTキーを押すのならOK。 ・ALTキーを押した後に、他のキーの入力が受け付けなくなってるようだ? ・ALTキーを押した後、カーソルキーの下などを押すとウィンドウのメニューが開く。  つまりALTキーを押すことでウィンドウメニューがアクティブになってるのだろうが、  バージョン3.09では、ALTキーを離してからアクティブになっていたのが  バージョン3.11では、ALTキーを押した時にアクティブになっているのかも?  (あくまで素人判断ですが) 何か対応方法がありましたらどうぞご教示下さい。
メンテ

Page: 1 |

Re: ALTキー押下時について ( No.1 )
名前:管理人 日時:2013/12/22 22:35

ALTキーはシステムキーなので、GetHitKeyStateAll では環境によって挙動が 変化する可能性があるのであまりお勧めできません ALT+ENTER押下時にウインドウモードとフルスクリーンモードを変更するかどうかを設定するための関数 SetUseASyncChangeWindowModeFunction がありますので、よろしければこちらをお使いください m(_ _)m // 最大化ボタンやALT+ENTERキーによる非同期なウインドウモードの変更の機能の設定を行う //  Flag : 非同期ウインドウモード変更を有効にするかどうかのフラグ( TRUE:有効にする FALSE:無効にする( デフォルト ) ) //  CallBackFunction : 非同期ウインドウモード変更が行われた後に呼ばれるコールバック関数のアドレス //  Data : CallBackFunction の引数に渡される void 型のポインタ ) int SetUseASyncChangeWindowModeFunction( int Flag , void (* CallBackFunction )( void * ) , void *Data ) ;
メンテ

Page: 1 |

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

   クッキー保存