ページ 22

Re: AB424サンプルのCDPlayerのTrackBarの設定について

Posted: 2006年8月04日(金) 15:12
by MUGI
色々とやってみた結果です。

1.「Sub MainWnd_PlayButton_Click」のなか、
nMax = (MCI_MSF_MINUTE(msp.dwReturn) * 60 + MCI_MSF_SECOND(msp.dwReturn)) * 10
SendMessage(hTrackBar,TBM_SETRANGE,0,MAKELONG(0,nMax))

SendMessage(hTrackBar, TBM_SETRANGE, 0, MAKELONG(0,(MCI_MSF_MINUTE(msp.dwReturn) * 60 + MCI_MSF_SECOND(msp.dwReturn)) * 10))
とし、nMaxを使用しないように変更。

2.「Sub MainWnd_HScroll」のなか、
Dim dwWk As Dword '動作安定化の為のダミー追加
bErr = mciSendCommand(mop.wDeviceID, MCI_SEEK, MCI_TO, mciSeekParms)の前に
mciSendCommand(mop.wDeviceID, MCI_STOP, MCI_NOTIFY, dwWk) '停止コマンド追加

上記2点の追加・変更で想定される動きになります。

また、TrackBar1が無意味な状態でも操作できるので、
再生中または一時停止中の時以外は、
EnableWindow(GetDlgItem(hMainWnd, TrackBar1), 0)
で無効化。
再生中または一時停止中の時は、
EnableWindow(GetDlgItem(hMainWnd, TrackBar1), 1)
で有効化したほうがいいかもしれません。