- 締切済み
VCでタイマー動作中にキー入力させるには
Visual C++6.0なのですが。 OnTimerでアニメーションを表示させています。 アニメーション表示中にキー入力をしたいのですが、 キー入力を受け付けません。 何かテクニックがあるのでしょうか。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#9414
回答No.1
おそらく、OnTimer関数の中で、キーイベントを 取っているのだと推測した上でお答えします。 OnTimer関数は、タイマーが切れたときのみ、 呼び出されるので、そこにキーイベントを記述しても 絶対にキーイベントを取得することは出来ない でしょう。何しろ、タイマーが切れた瞬間しか、 イベントのチェックをしないのですから・・・ 解決方法としては、CreateThread関数などで、 別スレッドを作成して、そちら側でタイマーを 呼び出すか、キーイベントを取得してあげることに よって、イベントを別扱いに出来るので、キー 入力を受け付けてくれるはずです。 別段テクニックとかそういうものではなく、単純に タイマーをきちんと理解しているかどうかなので、 もう一度タイマーの部分を読み直してください。 きつくなってしまいましたが、がんばってください。 ではでは☆
お礼
PreTranslateMessage(MSG* pMsg)をオーバーライト することでキー入力できました。 ありがとうございます。
補足
親切な回答ありがとうございます。 前回の書き込みからいろいろ調べました。その結果、 FormView上にButtonを配置しているのですが、 ButtonにフォーカスがあるのでFormViewの ほうでキー入力を受けることができないようです。 やっぱり、別スレッドを作成しないといけないのでしょうか。 がんばってみます。