掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBGridのクリックをCtrltが押されているかどうかで変更したい (ID:33542)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
キーやマウスのイベントというのは一度キューに入って、それから処理されます。 たとえばディスクスワップなどが起こって処理が重くなると、 ボタンをクリックしてから少したってようやくボタンが反応したり、 たたいた文字が少し遅れて入力されたりすることとかよくありますよね。 このような場合、反応があるまでずっとボタンを押していなくてもちゃんと反応したり、 文字が抜け落ちたりせず正しく入力されるのは、メッセージがキューに入っているからです。 GetKeyStateだと「今処理しているメッセージがキューに入った時点」、つまりボタンをクリックした瞬間のキーの状態がとれます。 これに対してGetAsyncKeyStateだと、メッセージを処理している今この瞬間のキーの状態になります。 ボタンをクリックしてもすぐに反応がなくて、たとえば0.5秒ほどたってからようやく処理された場合 Asyncの方を使っていると「Ctrlキーと一緒にクリックしたつもりなのに、 普通にクリックしたかのように処理されてしまった」ということが起こりうるわけです。 キー入力にたとえれば「"Delphi" と入力したかったのに 2delPHi2 になってしまった」という感じです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.