http://www.threeweb.ad.jp/~satou/compo03.htm
ここを参考にコンポーネントを作ってみまして、無事完成しまして、目的どおり動いていますが、「TWinControl::KeyPress(Key);」を削除しまして、この部分がどのような働きをしているかを調べてみたのですが、なんかあってもなくても動作が変わりません。
この部分いったい何をやっているのでしょうか?
どうぞ、ご教授よろしくお願いします。
このページにあるコンポーネントですよね。
動作が変わらないと言うことは、KeyPressをオーバーライドしなくても数字の入力しか受け付けないのですか?
動作が変わらない、でなく、どういう動作になっているか確認してください。
数字だけ入力するように気をつけて、かつ6桁までしか入力しなければ、確かに動作は変わりませんが。
返信ありがとうございます。
いや、KeyPressはどちらにしてもオーバーライドしているのですが、最後のところで親のKeyPressを呼び出すかどうかで 呼び出さない場合と呼び出す場合でどちらも動作が変わらないような気がします。
なるほど。
TWinControl::KeyPress(Key);を削除したコンポーネントの、OnKeyPressイベントは発生しましたか?
試してみてください。
# たとえば、OnKeyPressイベントに、Keyを表示するコードを書いてみるとか
ソースがあるなら、ソースを読むとわかります。
ツイート | ![]() |