• ベストアンサー

SpinButton連続押下時のアクション

SpinButtonのコンポーネントを作成しています。 このコンポーネントにボタンを連続押下した時に値を連続してカウントアップ/ダウンさせる処理を追加したいのですが、良い方法をご存知の方教えてください。 現在ボタン押下時に1つカウントアップ/ダウンさせるactionPerformedは設計済みです。

noname#911
noname#911
  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.1

コンポーネントの時に、この手が使えるかどうかわかりませんが、 タイマーコントロールを用意(Timer1) ボタンのMouseDownイベントで、Timer1.Interval=10(値は適当に) ボタンのMouseUpイベントで、Timer1.Interval=0 Timer1のTimerイベントで、ボタンが連続押下されているときの処理を書きます と言うやりかたではどうでしょう

noname#911
質問者

お礼

Timerイベントですね。 Timerイベントを使用してチャレンジしてみます。 ありがとうございました。

関連するQ&A

  • Valueで値を貼り付けコピー時Escキー連続押下

    現在業務で以下のようなマクロを記述しています。 (Xはダミー文字です) Function XXX() (略) On Error GoTo OUTPUT_ERROR Application.EnableCancelKey = xlErrorHandler (略) '別ブックからの値貼り付けコピー XXX.Value = XXX.Value (略) OUTPUT_ERROR: XXXXXXXXXXX (略) End Function この処理において、Valueを用いた値の貼り付けが膨大なデータを対象としており長時間処理がかかる場合、その貼り付け処理中にEscキーを1回押下した時は、エラートラップが正常に働き、値の貼り付けの途中で終了しているようなのですが、同じ状況でEscキーを連続で押下し続けた場合、2回目の押下以降で「実行時エラー '18':」という表記のウィンドウが表示され処理が止まってしまいます。 上記ウィンドウにてデバッグボタンを押下すると、「OUTPUT_ERROR」の最初の行(XXXXXXXXXX )で止まっています。 尚、同じ処理をValueではなくCopyにて実装したところ、Escキー連続押下しても、Copy処理が完了するまで割込み処理が走っていないようで、Copy終了後に「OUTPUT_ERROR:」以降の処理が走っているようでした。ただ、Valueよりも処理時間が格段に長くなってしまうため、こちらの案は出来る限り採用しない方向で検討しています。 実現したいことは、処理時間の短縮の為、Valueにて値を貼り付けコピーを実施しつつも、それが長時間に渡る場合はEscキー押下でキャンセル処理を実装することなのですが、Escキーを連続押下された場合も考慮して動作確認をしたところ、上記の現象が出てしまっており、解決の糸口が見つかっていません。 この場合、Escキーが連続で押された場合も正常にキャンセル処理を走らせるには、どのようにしたら実現できますでしょうか?よろしくお願い致します。

  • 「押下」は「おうか」と読む?

    よくWindowsソフトのコマンドボタンを押すという説明をする時、 「押下」すると書いてあるマニュアルを目にします。 市販のソフトではあまり見ないのですが、ソフトハウスが開発時に 作成するマニュアルでよく見ます。 この「押下」は「おうか」と読むのでしょうか? またこの言葉は一般的なんでしょうか? 私が見た限り、辞書には載っていませんでした。 またgooの国語辞典にもありません。

  • グリッドビューでのチェックボックス押下時イベント

    vb初心者です。 データグリッドビューで作成した表の中に チェックボックス列を入れているのですが、 このチェックボックスをチェックした時点で あるボタンを押下可能にする、 また、チェックがはずれた時点でボタンを押下不可能にする という処理をしたいのですが、 チェックボックスのチェック状態を取得する方法と チェックボックスクリック時のイベント名がわかりません。 どなたかご教授願います。

  • ツールバーのデフォルトでの押下状態

    現在VC++6.0を用いてアプリを作成しております。 ツールバーを新規作成して、ボタンを4つつけました。 ボタンのスタイルには"TBBS_CHECKGROUP"を用いて 押下されたボタンはへこんだイメージにするようにしました。 このツールバーのボタンの1つに関して、アプリ起動時に押下されてへこんでいる状態で表示したいのですが、方法がわかりません。 どなたか、ご存知の方いらっしゃいましたら教えていただけないでしょうか。

  • ブラウザの×ボタン(閉じるボタン)押下時のイベントをひろいたい

    javaScriptでブラウザの閉じるボタン(×ボタン)を押したときに、functionを走らせたいのですがうまくいきません。onunloadで以下の処理を行っています。 if(event.clientX <= -8980 && event.clientY <= -9000 || event.clientX >= 32700 && event.clientY >= 32700) {  //ブラウザ閉じられたときの処理 } 閉じるボタンを押してなくても走ってしまったり、不安定なのですが、×ボタン押下時のイベントの拾い方をどなたかご教授ください。よろしくお願いします。

  • JavaAppletのイベントの強制発生方法

    JavaAppletのイベント処理についてお伺いしたい事があります。 Appletで作成した画面にボタンAを設置し、 actionPerformedのイベントを作成しました。 private void ボタンA_actionPerformed (java.awt.event.ActionEvent ae) {   //処理内容 } ボタンAを押下すると上記のイベントが呼ばれ正常に動作するのですが、このイベント処理をボタンAを押下する以外の方法で呼び出す事は可能なのでしょうか? 下記内容は例として、ボタンBで[F1]が押されたらボタンAの押下処理を呼び出そうとしております。 private void ボタンB_keyPressed (java.awt.event.KeyEvent ke) {   java.awt.event.ActionEvent ae;   ae = ○○○○○○;   if (e.getKeyCode() == java.awt.event.KeyEvent.VK_F1) {     ボタンA_actionPerformed(ae);   } } java.awt.event.ActionEventで定義した変数aeの中身の所でつまづいております。 ご存知の方おりましたらご指導願います。

  • VB6 カウントアップ処理について

    お世話になっております。 Visual Basic6.0を使用して表示板を製作しています。まだまだプログラムレベルが低いので ご教示ください。 外部信号を受け取ったらText Boxの値に+1します。外部信号(0 or 1)受け取りはできたので、 カウントアップの仕方を教えてください。 スタート ⇒ トリガーが入ったらカウントアップ ⇒ トリガーが入ったらカウントアップ ⇒  終了ボタン押すまで繰り返します。 トリガー : dioInpDataが0か1が入力される スタート、終了はボタン押下 Praivate Sub START Click() Dim dioInpData as string Dim i as string i = 0 If dioInpData = 1Then  Text1.text = i + 1 End If End sub これだと、以下の問題が。。。  ・スタートボタン押したらdioInpData一回確認したら終わってしまう。  ・i = 0から始まるから常に1を表示していまう。 これまでボタン押下で一回処理で終了するプログラムしか組んでないので、 何回もトリガーが入ったら処理する、カウントアップの処理が初めてです。 自分で書いてて悲しくなりますが、こんなこともわからないんです。 どなたか教えてください。 何卒、よろしくお願いいたします。

  • 突然、連続Enter処理が始まることがあります。

    特定のソフトウェアに依存することなく、突如、Enterボタンを1回押下しただけなのに連続Enter処理が始まることがあります。これはキーボードの故障でしょうか。何の前触れもなく起きるので、心配です。 ※OKWaveより補足:「ソニー製品」についての質問です。

  • F2+Ctrl押下時のイベント記述方法

    VB6を使用しています。 F2+Ctrlを同時に押下した場合の処理の記述がうまくいきません。 Form_KeyDownイベントで下記のように記述しようと考えたのですが、KeyCodeに17が入ってしまいうまくいきません。 アドバイスをお願いします。 ----------------------- select case KeyCode  case vbKeyF2   If Shift = 2 Then   'Ctrl+F2押下時   ***処理   End If ※他のファンクションボタンの処理もあるのでcase文にしています。

  • ロジックICを使ったカウンタの繰り下がり抑止

    ロジックICを使ったカウンタの繰り下がり抑止 74HC193を使った簡単な非同期式アップダウンカウンタを作成しています。 アップ/ダウンの押しボタンに同期してカウントが増/減し、 カウントが0000の状態でダウンボタンを押すと、 Borrow :H→L カウント:1111 となり、繰り下がりが起こりますが、これを、 カウント:0000 を保持する回路を実現するにはどうすればよいでしょうか? ど素人の質問ですが、どうかよろしく願いします。

専門家に質問してみよう