HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1216
腱鞘炎トラックバーをプログラムから移動8解決


腱鞘炎

リンク

2009/12/16(Wed) 17:51:37|NO.29293

こんにちは。
今、ミュージックプレイヤーを作っています。
シークバーをトラックバーで作っています。
トラックバーを動かすと曲の位置が移動するようにはできたのですが、
反対に、曲に合わせてトラックバーを動かすことができません。

repeat cls 〜現在時間を取得〜 〜トラックバーを表示〜 wait 50 loop
というようなコードでは、シークしている間にも初期化されますし、画面もチカチカします。
トラックバーを動かすにはどうしたらいいでしょうか。
分かりにくい文ですいません。



この記事に返信する


足利超神

リンク

2009/12/16(Wed) 21:18:58|NO.29299

トラックバーは自作しているんですか?
それともプラグインを利用してるんですか?

repeat cls 〜現在時間を取得〜 〜トラックバーを表示〜 wait 50 loop
このコードでは一秒に約2回しか画面を更新しませんし、
clsをループ中での画面の初期化に利用するのは止めて
boxfなどで塗りつぶせばちらつきが少なくなります。



腱鞘炎

リンク

2009/12/16(Wed) 22:19:35|NO.29302

さっそく回答ありがとうございます^^
トラックバーは、

winobj "msctls_trackbar32", "",,$50000000 | $1,300, 30 sendmsg , $405, 1, ichi : sendmsg , $414, 10
のようにして作ってます。

私もはじめはboxfで塗りつぶそうと思ったのですが、オブジェクトの上は塗りつぶす事ができない事に気づきました^^;

なので、シークバーはトラックバーを使わずに、他の方法でしようかと考えています。



ANTARES

リンク

2009/12/17(Thu) 00:41:51|NO.29308

 トラックバーを作るのは最初の1回だけにして、
トラックバーを操作するメッセージか何かがあるはずなので
それを探すのが正解でしょう。

 でも、トラックバーくらい簡単に作れるので、自作する方がいいかも。



shinkun

リンク

2009/12/17(Thu) 01:02:39|NO.29312

トラックバー、一体何者かと思えばllmod3で提供されているtrackboxと同じ物のようですね。
trackboxへ反映するには、以下のようにすれば良いみたいです。
使い物になると良いですが…。


#include "llmod3/llmod3.hsp" #include "llmod3/trackbox.hsp" music_start = 0 ; 曲の先頭位置 music_end = 200 ; 曲の末尾位置 music_pos = 0 ; 再生中の位置 *start trackbox 200, 40, 0 trackrng music_start, music_end *main trackpos music_pos ; 再生位置の設定 if (music_pos < music_end): music_pos++ ; 再生位置の取得(のつもり) await 20 goto *main



ANTARES

リンク

2009/12/17(Thu) 01:15:18|NO.29313

> でも、トラックバーくらい簡単に作れるので、自作する方がいいかも。
 撤回。
ユーザーが操作できるようにするのは、けっこうたいへんですね。



tsuka

リンク

2009/12/17(Thu) 18:12:11|NO.29317

sendmsgを使いましょう。
また、この場合clsはいりません。

#const TBM_SETPOS 0x405 #const TBM_GETPOS 0x400 winobj "msctls_trackbar32", "", , $50000000 | $1, 200, 30 //トラックバー作成 hTrackbar = objinfo(stat, 2) //ウィンドウハンドルを代入 repeat wait 30 sendmsg hTrackbar, TBM_SETPOS, 1, cnt //トラックバーに値を設定 sebdmsg hTrackbar, TBM_GETPOS //トラックバーの値を取得 title str(stat) //トラックバーの値をタイトルバーに適用 loop



tsuka

リンク

2009/12/17(Thu) 18:14:07|NO.29318

すみません。

sebdmsg
とかなってるところがありますが、正しくは

sendmsg
でした。
実行する際は修正してからお願いします。



腱鞘炎

リンク

2009/12/17(Thu) 20:50:06|NO.29319

みなさん、ありがとうございます!
無事、トラックバーを動かす事に成功しました。
本当にありがとうございます。



ONION software Copyright 1997-2021(c) All rights reserved.