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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0906
areaステータスバーにプログレスバーを埋め込む方法2解決


area

リンク

2006/9/6(Wed) 22:36:36|NO.2305

ブラウザとかでよく、ステータスバーにプログレスバーが埋め込まれている(?)のですが、
HSPでも同じように埋め込む方法はないのでしょうか?
お暇さえあればよろしくお願いします(なければ、ないといってくれればいいです)。



この記事に返信する


Bomb

リンク

2006/9/7(Thu) 05:43:07|NO.2309

プログレスバーをステータスバーの子ウインドゥとして生成すれば良いだけです。

#uselib "COMCTL32.DLL" #func InitCommonControlsEx "InitCommonControlsEx" var #uselib "USER32.DLL" #func CreateWindowEx "CreateWindowExA" int, sptr, sptr, int, int, int, int, int, int, int, int, int #define ICC_BAR_CLASSES $0004 #define ICC_PROGRESS_CLASS $0020 #define WS_CHILD $40000000 #define WS_VISIBLE $10000000 #define WS_CLIPCHILDREN $02000000 #define CCS_BOTTOM $0003 #define SB_SETPARTS $0404 #define SB_GETRECT $040A #define SB_SETTEXT $0401 #define PBM_SETPOS $0402 dim t, 4 : t = 8, ICC_BAR_CLASSES | ICC_PROGRESS_CLASS : InitCommonControlsEx t winobj "msctls_statusbar32", "", 0, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | CCS_BOTTOM, 0, 0, 0xFF00, 0 hStatus = objinfo( stat, 2 ) t = ginfo(12) / 10 * 9, ginfo(12) sendmsg hStatus, SB_SETPARTS, 2, varptr( t ) sendmsg hStatus, SB_GETRECT, 0, varptr( t ) : t.2 -= t.0 : t.3 -= t.1 CreateWindowEx 0, "msctls_progress32", "", WS_CHILD | WS_VISIBLE, t.0, t.1, t.2, t.3, hStatus, 0xFF01, hinstance, 0 hProg = stat : if ( hProg == 0 ) : dialog "プログレスバーの生成に失敗" : end repeat repeat 100 wait 5 : sendmsg hProg, PBM_SETPOS, cnt, 0 t = cnt + 1 : s = " "+ t +" %" sendmsg hStatus, SB_SETTEXT, 1, varptr( s ) loop : wait 50 loop



area

リンク

2006/9/7(Thu) 20:53:44|NO.2313

ありがとうございました。
これからもよろしくお願いします。



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