updownボタンの押下時間

解決


deldel3号  2009-04-27 20:59:07  No: 34205  IP: [192.*.*.*]

よろしくお願い致します。updownボタンの押下時間で
値の変化値を変更することは可能でしょうか?
たとえば通常は1ずつ変更すると思うのですが、5秒以上押すと
値を100ずつ変化させるという事です。

編集    削除
ttt  2009-04-27 22:24:49  No: 34206  IP: [192.*.*.*]

UDM_SETACCELを直接送りつければいいのかな。

uses ComCtrls, CommCtrl;
...
const
  ACCELL_ARRAY: array[0..2] of TUDAccel = (
    (nSec: 0; nInc: 1), // 最初は1刻み
    (nSec: 1; nInc: 10), // 1秒押し続けたら10倍速
    (nSec: 5; nInc: 100));  // 5秒で100倍速
...
UpDown1.Perform(UDM_SETACCEL, Length(ACCELL_ARRAY), LPARAM(@ACCELL_ARRAY));

ウィンドウ作成時(FormがLoadされた後)とかIncrementを変更すると
上書きされるので、その都度設定しなおす必要があります。

編集    削除
deldel3号  2009-04-30 09:43:11  No: 34207  IP: [192.*.*.*]

解決いたしました。ありがとうございました。

編集    削除