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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0622
X.vocaro39プログレスバーについて4解決


X.vocaro39

リンク

2014/6/22(Sun) 11:09:14|NO.62536

このソースの端から端を短くしたいのですが、できますか?
------------------------------------------------------
#uselib "user32.dll"
#func SetWindowLong "SetWindowLongA" int,int,int
#func GetWindowLong "GetWindowLongA" int,int
#define PBS_MARQUEE 0x08
#define PBM_SETMARQUEE 0x040A
#define GWL_STYLE (-16)
#define WS_CHILD 0x40000000
#define WS_VISIBLE 0x10000000
#define PBM_SETRANGE 0x0401
#define PBM_SETPOS 0x0402
#define ctype MAKELPARAM(%1,%2) (%1 | %2<<16)

//プログレスバー設置
pos 2,132
winobj "msctls_progress32","",0,WS_CHILD | WS_VISIBLE,620,12

//プログレスバーのハンドルを取得
hProgress = objinfo(stat,2)

//プログレスバーの範囲を0〜100にする
sendmsg hProgress ,PBM_SETRANGE,0,MAKELPARAM(0,100)

//プログレスバーのスタイルにPBS_MARQUEE(0x040A)を追加
GetWindowLong hProgress , GWL_STYLE
SetWindowLong hProgress , GWL_STYLE ,stat | PBS_MARQUEE

//プログレスバーの状態を不確定型にする
sendmsg hProgress ,PBM_SETMARQUEE,1,2

//5秒待つ
await 5000

//プログレスバーの状態を確定型(通常の状態)にする
sendmsg hProgress ,PBM_SETMARQUEE,0,0

//プログレスバーのスタイルからPBS_MARQUEE(0x040A)を除く
GetWindowLong hProgress , GWL_STYLE
SetWindowLong hProgress , GWL_STYLE,stat ^PBS_MARQUEE

//プログレスバーの位置を100まで移動する
repeat 100,1
sendmsg hProgress ,PBM_SETPOS,cnt,0
await 99
loop



この記事に返信する


X.vocaro39

リンク

2014/6/22(Sun) 11:16:23|NO.62537

訂正✖このソースの端から端を短くしたいのですが、できますか?
  ○このソースを実行したときプログレスバーの端から端を短くしたいのですが、できますか?



掘木

リンク

2014/6/22(Sun) 13:08:07|NO.62544

ん?
winobjの第5引数がコントロールの幅なのでは・・・?(620にしてあるけども)
それとも別の意味なのかな。。



X.vocaro39

リンク

2014/6/22(Sun) 15:48:27|NO.62556

堀木s,これの620を小さくするのですか?
-------------------------------------------------------
winobj "msctls_progress32","",0,WS_CHILD | WS_VISIBLE,620,12



X.vocaro39

リンク

2014/6/22(Sun) 17:11:01|NO.62559

堀木s、ありがとうございます。
解決しました!



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