***********key-control************ keydown, keypress, keyup KeyPressは文字キー(アルファベットや数字など、押したときに文字が入力されるキーすべて)を押した場合にのみ発生し、制御キー(ファンクションキーやTabキーなど)を押したときには発生しない。KeyDown, KeyUPはどのキーを押しても発生する。 発生順序はKeyDown -> KeyPress -> KeyUp。 Posted by shin at November 26, 2004 05:29 AM | TrackBack KeyDown OnKeyDown/ キークリック時 (フォーム、コントロール) コントロールまたはフォームにフォーカスがあるときにキーボードのキーを押すと、このイベントが発生します。フォームがフォーカスを得ることができるのは、フォームの可視コントロールがすべて無効になっているとき、またはフォームにコントロールがないときです。 マクロで "SendKeys/キー送信" アクションを使うか、または Visual Basic で SendKeys ステートメントを使って、キーストロークをフォームまたはコントロールに送信すると、KeyDown イベントが発生します。 フォームの "KeyPreview/キーボードイベント取得" プロパティに [Yes/はい] を設定すると、コントロールの KeyDown イベントが発生する前に、すべての KeyDown イベントを、コントロールのイベントも含めて、フォームが受け取ります。 キーを押し続けると、KeyDown イベントが繰り返し発生します。 KeyPress OnKeyPress/キー入力時 (フォーム、コントロール) コントロールまたはフォームにフォーカスがあるときに、標準 ANSI 文字を作り出すキーまたはキーの組み合わせを押して離すと、このイベントが発生します。フォームがフォーカスを得ることができるのは、フォームの可視コントロールがすべて無効になっているとき、またはフォームにコントロールがないときです。 たとえば、KeyPress イベントを使って、テキスト ボックスまたはコンボ ボックスに入力されたキーストロークに応答できます。ファンクション キーや移動キーなど、KeyPress イベントで認識されないキーストロークについては、KeyDown イベントおよび KeyUp イベントを使います。 マクロで "SendKeys/キー送信" アクションを使うか、または Visual Basic で SendKeys ステートメントを使って、標準 ANSI 文字を作り出すキーストロークをフォームまたはコントロールに送信した場合にも、KeyPress イベントが発生します。 フォームの "KeyPreview/キーボードイベント取得" プロパティに [Yes/はい] を設定すると、コントロールの KeyPress イベントが発生する前に、すべての KeyPress イベントを、コントロールのイベントも含めて、フォームが受け取ります。 キーを押し続けると、KeyPress イベントが繰り返し発生します。 K12eyUp OnKeyUp/キー解放時 (フォーム、コントロール) フォームまたはコントロールにフォーカスがあるときに、押していたキーを離すと、このイベントが発生します。フォーカスのあるオブジェクトが、すべてのキーストロークを受け取ります。フォームがフォーカスを得ることができるのは、フォームの可視コントロールがすべて無効になっているときか、またはフォームにコントロールがないときです。 マクロで "SendKeys/キー送信" アクションを使うか、または Visual Basic で SendKeys ステートメントを使って、キーストロークをフォームまたはコントロールに送信した場合にも、KeyUp イベントが発生します。 フォームの "KeyPreview/キーボードイベント取得" プロパティに [Yes/はい] を設定すると、コントロールの KeyUp イベントが発生する前に、すべての KeyUp イベントを、コントロールのイベントも含めて、フォームが受け取ります。 キーを押し続けると、すべての KeyDown イベントおよび KeyPress イベントが発生してから、KeyUp イベントが発生します。